diff --git a/CHANGELOG.txt b/CHANGELOG.txt index bc94157..c1eb7f3 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -4,9 +4,23 @@ NanoVar Changelog Release Summary: +Version 1.4.0 - Sept 1, 2021 + * Implemented a large cytogenetic variation detection algorithm through CytoCAD (Add the paramenter "--cnv hg38" during run) + * Added LINE (L1) and SINE (Alu) novel insertion detection functionality (NanoVar screens the sequence of INS SVs + for L1 and Alu elements and output the results in the INFO column of VCF file (E.g. TE=L1HS) + * Updated curated hg38 filter file (added all N regions) + * Expanded the CIGAR reading values to include '=' and 'X' + * Improved breakpoint clustering algorithm and rectified bugs + * Modified setup.py to state compatibility with python3.8 + * Fixed Numpy VisibleDeprecationWarning in nv_report.py + * Added '--pickle' arguement for debugging purposes (Hidden option) + * Added '--archivefasta' arguement for debugging purposes (Hidden option + * Added '--blastout' arguement for debugging purposes (Hidden option) + + Version 1.3.9 - Mar 24, 2021 * Fixed nv_detect_algo insertion and deletion large size bug - * Added pysam >=0.15.4 into bioconda metal.yml as prerequisite + * Added pysam >=0.15.3 into bioconda metal.yml as prerequisite * Added pybedtools >=0.8.2 prerequisite to fixed RuntimeWarning buffering=1 error (Refer to https://github.com/daler/pybedtools/issues/322) * Prevent repeated read-indexes by adjusting seed (Thanks to Geoffrey Woodland) * Improve read cluster exception message (Thanks to Geoffrey Woodland) diff --git a/MANIFEST.in b/MANIFEST.in index 73511b3..42484f2 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -4,3 +4,4 @@ recursive-include nanovar/gaps *.bed recursive-include nanovar/model *.h5 recursive-include nanovar/css *.css recursive-include nanovar/js *.js +recursive-include nanovar/ref *L1* diff --git a/README.md b/README.md index 970237c..e42e2d0 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@

## NanoVar - Structural variant caller using low-depth long-read sequencing -[![Build Status](https://travis-ci.org/cytham/nanovar.svg?branch=master)](https://travis-ci.com/cytham/nanovar) +[![Build Status](https://app.travis-ci.com/cytham/nanovar.svg?branch=master)](https://app.travis-ci.com/github/cytham/nanovar) [![PyPI pyversions](https://img.shields.io/pypi/pyversions/nanovar)](https://pypi.org/project/nanovar/) [![PyPI versions](https://img.shields.io/pypi/v/nanovar)](https://pypi.org/project/nanovar/) [![Conda](https://img.shields.io/conda/v/bioconda/nanovar)](https://anaconda.org/bioconda/nanovar) @@ -26,23 +26,28 @@ NanoVar is a genomic structural variant (SV) caller that utilizes low-depth long * Requires 4x and 8x sequencing depth for detecting homozygous and heterozygous SVs respectively. * Rapid computational speed (Takes <3 hours to map and analyze 12 gigabases datasets (4x) using 24 CPU threads) * Approximates SV genotype +* Detect large chromosomal copy-number variation using [CytoCAD](https://github.com/cytham/cytocad) +* Identifies full-length LINE and SINE insertions (Marked by "TE=" in the INFO column of VCF file) ## Getting Started ### Quick run ``` -nanovar [Options] -t 24 -f hg38 sample.fq/sample.bam ref.fa working_dir +nanovar [Options] -t 24 -f hg38 --cnv hg38 sample.fq/sample.bam ref.fa working_dir ``` | Parameter | Argument | Comment | | :--- | :--- | :--- | | `-t` | num_threads | Indicate number of CPU threads to use | | `-f` (Optional) | gap_file (Optional) | Choose built-in gap BED file or specify own file to exclude gap regions in the reference genome. Built-in gap files include: hg19, hg38 and mm10| +| `--cnv` | hg38 | Perform large CNV detection using CytoCAD (Only works for hg38 genome) | - | sample.fq/sample.bam | Input long-read FASTA/FASTQ file or mapped BAM file | | - | ref.fa | Input reference genome in FASTA format | | - | working_dir | Specify working directory | +See [wiki](https://github.com/cytham/nanovar/wiki) for entire list of options. + #### Output | Output file | Comment | | :--- | :--- | @@ -61,7 +66,7 @@ There are three ways to install NanoVar: # Installing from bioconda automatically installs all dependencies conda install -c bioconda nanovar ``` -#### Option 2: Pip (See dependencies below) +#### Option 2: PyPI (See dependencies below) ``` # Installing from PyPI requires own installation of dependencies, see below pip install nanovar @@ -145,6 +150,6 @@ Although NanoVar is provided with a universal model and threshold score, instruc * For BND SVs, NanoVar is unable to calculate the actual number of SV-opposing reads (normal reads) at the novel adjacency as there are two breakends from distant locations. It is not clear whether the novel adjacency is derived from both or either - breakends, in cases of balanced and unbalanced variants, and therefore its not possible to know which breakend location(s) to + breakends, in cases of balanced and unbalanced variants, and therefore it is not possible to know which breakend location(s) to consider for counting normal reads. Currently, NanoVar approximates the normal read count by the minimum count from either breakend location. Although this helps in capturing unbalanced BNDs, it might lead to some false positives. diff --git a/nanovar/gaps/hg19_filter.bed b/nanovar/gaps/hg19_filter.bed deleted file mode 100644 index 582760c..0000000 --- a/nanovar/gaps/hg19_filter.bed +++ /dev/null @@ -1,70 +0,0 @@ -chr1 0 10000 10000 telomere -chr1 121535434 124535434 3000000 centromere -chr1 249240621 249250621 10000 telomere -chr10 0 10000 10000 telomere -chr10 39254935 42254935 3000000 centromere -chr10 135524747 135534747 10000 telomere -chr11 0 10000 10000 telomere -chr11 51644205 54644205 3000000 centromere -chr11 134996516 135006516 10000 telomere -chr12 0 10000 10000 telomere -chr12 34856694 37856694 3000000 centromere -chr12 133841895 133851895 10000 telomere -chr13 0 10000 10000 telomere -chr13 16000000 19000000 3000000 centromere -chr13 115159878 115169878 10000 telomere -chr14 0 10000 10000 telomere -chr14 16000000 19000000 3000000 centromere -chr14 107339540 107349540 10000 telomere -chr15 0 10000 10000 telomere -chr15 17000000 20000000 3000000 centromere -chr15 102521392 102531392 10000 telomere -chr16 0 10000 10000 telomere -chr16 35335801 38335801 3000000 centromere -chr16 90344753 90354753 10000 telomere -chr17 22263006 25263006 3000000 centromere -chr18 0 10000 10000 telomere -chr18 15460898 18460898 3000000 centromere -chr18 78067248 78077248 10000 telomere -chr19 0 10000 10000 telomere -chr19 24681782 27681782 3000000 centromere -chr19 59118983 59128983 10000 telomere -chr2 0 10000 10000 telomere -chr2 92326171 95326171 3000000 centromere -chr2 243189373 243199373 10000 telomere -chr20 0 10000 10000 telomere -chr20 26369569 29369569 3000000 centromere -chr20 63015520 63025520 10000 telomere -chr21 0 10000 10000 telomere -chr21 11288129 14288129 3000000 centromere -chr21 48119895 48129895 10000 telomere -chr22 0 10000 10000 telomere -chr22 13000000 16000000 3000000 centromere -chr22 51294566 51304566 10000 telomere -chr3 0 10000 10000 telomere -chr3 90504854 93504854 3000000 centromere -chr3 198012430 198022430 10000 telomere -chr4 0 10000 10000 telomere -chr4 49660117 52660117 3000000 centromere -chr4 191144276 191154276 10000 telomere -chr5 0 10000 10000 telomere -chr5 46405641 49405641 3000000 centromere -chr5 180905260 180915260 10000 telomere -chr6 0 10000 10000 telomere -chr6 58830166 61830166 3000000 centromere -chr6 171105067 171115067 10000 telomere -chr7 0 10000 10000 telomere -chr7 58054331 61054331 3000000 centromere -chr7 159128663 159138663 10000 telomere -chr8 0 10000 10000 telomere -chr8 43838887 46838887 3000000 centromere -chr8 146354022 146364022 10000 telomere -chr9 0 10000 10000 telomere -chr9 47367679 50367679 3000000 centromere -chr9 141203431 141213431 10000 telomere -chrX 0 10000 10000 telomere -chrX 58632012 61632012 3000000 centromere -chrX 155260560 155270560 10000 telomere -chrY 0 10000 10000 telomere -chrY 10104553 13104553 3000000 centromere -chrY 59363566 59373566 10000 telomere diff --git a/nanovar/gaps/hg38_curated_filter_main.bed b/nanovar/gaps/hg38_curated_filter_main.bed new file mode 100644 index 0000000..aa4dffb --- /dev/null +++ b/nanovar/gaps/hg38_curated_filter_main.bed @@ -0,0 +1,238 @@ +chr1 0 10400 10000 telomere +chr1 207266 258066 50000 Nregion +chr1 297568 348368 50000 Nregion +chr1 535588 586388 50000 Nregion +chr1 2702381 2746690 43509 Nregion +chr1 12953984 13004784 50000 Nregion +chr1 16798763 16849563 50000 Nregion +chr1 29551833 29554235 1602 Nregion +chr1 121619600 143200400 21580000 centromere,Nregion +chr1 223558535 223609335 50000 Nregion +chr1 228557964 228608764 50000 Nregion +chr1 248946022 248956822 10000 telomere +chr10 0 10400 10000 telomere +chr10 38499600 42217400 3717000 centromere,Nregion +chr10 47779968 47870768 90000 Nregion +chr10 133690066 133740866 50000 Nregion +chr10 133787022 133797822 10000 telomere +chr11 0 60400 60000 telomere,Nregion +chr11 50819600 54550400 3730000 centromere,Nregion +chr11 70955296 71056096 100000 Nregion +chr11 87977802 88003296 24694 Nregion +chr11 135076222 135087022 10000 telomere +chr12 0 10400 10000 telomere +chr12 7083250 7085050 1000 Nregion +chr12 34718600 37260400 2541000 centromere,Nregion +chr12 132222962 132224762 1000 Nregion +chr12 133264909 133275709 10000 telomere +chr13 0 18410400 18410000 telomere,centromere,Nregion +chr13 86202579 86253379 50000 Nregion +chr13 111703455 111754255 50000 Nregion +chr13 111793041 111843841 50000 Nregion +chr13 113672620 113723420 50000 Nregion +chr13 114353928 114364728 10000 telomere +chr14 0 19700400 19700000 telomere,centromere,Nregion +chr14 106883318 107044118 160000 telomere,Nregion +chr15 0 22400400 22400000 telomere,centromere,Nregion +chr15 23226474 23277274 50000 Nregion +chr15 84269666 84320466 50000 Nregion +chr15 101980789 101991589 10000 telomere +chr16 0 10400 10000 telomere +chr16 18436086 18486886 50000 Nregion +chr16 33214195 33264995 50000 Nregion +chr16 33392011 33442811 50000 Nregion +chr16 34288929 34339729 50000 Nregion +chr16 34521110 34571910 50000 Nregion +chr16 34576405 34581365 4160 Nregion +chr16 36259600 46420400 10160000 centromere,Nregion +chr16 90227945 90338745 110000 telomere,Nregion +chr17 0 60400 60000 telomere,Nregion +chr17 447788 489387 40799 Nregion +chr17 21659600 26940400 5280000 centromere,Nregion +chr17 81742142 81792942 50000 Nregion +chr17 81795881 81798127 1446 Nregion +chr17 83247041 83257841 10000 telomere +chr18 0 10400 10000 telomere +chr18 15409600 20940400 5530000 centromere,Nregion +chr18 46969512 47020312 50000 Nregion +chr18 80262885 80373685 110000 telomere,Nregion +chr19 0 60400 60000 telomere,Nregion +chr19 24439600 27245400 2805000 centromere,Nregion +chr19 58607216 58618016 10000 telomere +chr2 0 10400 10000 telomere +chr2 16144719 16146519 1000 Nregion +chr2 32866730 32868530 1000 Nregion +chr2 32916225 32918025 1000 Nregion +chr2 89259600 94510400 5250000 centromere,Nregion +chr2 97439218 97490018 50000 Nregion +chr2 242183129 242193929 10000 telomere +chr20 0 60400 60000 telomere,Nregion +chr20 26363840 26365814 1174 Nregion +chr20 26379600 31170400 4790000 centromere,Nregion +chr20 64333767 64444567 110000 telomere,Nregion +chr21 0 5010400 5010000 telomere,Nregion +chr21 5165846 5216646 50000 Nregion +chr21 5393158 5443958 50000 Nregion +chr21 5448612 5499412 50000 Nregion +chr21 5627196 5677996 50000 Nregion +chr21 5795609 5846409 50000 Nregion +chr21 5916193 5966993 50000 Nregion +chr21 6160971 6211771 50000 Nregion +chr21 6376858 6427658 50000 Nregion +chr21 6579781 6630581 50000 Nregion +chr21 6738685 6789485 50000 Nregion +chr21 6933819 6984619 50000 Nregion +chr21 7149127 7199927 50000 Nregion +chr21 7327465 7378265 50000 Nregion +chr21 7500490 7551290 50000 Nregion +chr21 7693300 7744100 50000 Nregion +chr21 7865346 7916146 50000 Nregion +chr21 8049439 8100239 50000 Nregion +chr21 8260571 8311371 50000 Nregion +chr21 8471960 8522760 50000 Nregion +chr21 8706315 8757115 50000 Nregion +chr21 8886204 8987004 100000 Nregion +chr21 9195687 9246487 50000 Nregion +chr21 9376743 9527543 150000 Nregion +chr21 10169468 10270268 100000 Nregion +chr21 10273927 10324727 50000 Nregion +chr21 10809600 12967400 2157000 centromere,Nregion +chr21 43212062 43262862 50000 Nregion +chr21 46699583 46710383 10000 telomere +chr22 0 10510400 10510000 telomere,Nregion +chr22 10784243 10835043 50000 Nregion +chr22 10874172 10924972 50000 Nregion +chr22 10966324 11017124 50000 Nregion +chr22 11068587 11119387 50000 Nregion +chr22 11160521 11211321 50000 Nregion +chr22 11377656 11428456 50000 Nregion +chr22 11496937 11547737 50000 Nregion +chr22 11630888 11681688 50000 Nregion +chr22 11724229 11775029 50000 Nregion +chr22 11977155 12027955 50000 Nregion +chr22 12225188 12275988 50000 Nregion +chr22 12438290 12489090 50000 Nregion +chr22 12641330 12692130 50000 Nregion +chr22 12725804 12776604 50000 Nregion +chr22 12817737 12868537 50000 Nregion +chr22 12899600 15300400 2400000 centromere,Nregion +chr22 16279272 16303243 23171 Nregion +chr22 16303896 16305827 1131 Nregion +chr22 18238729 18339529 100000 Nregion +chr22 18433113 18483913 50000 Nregion +chr22 18659164 18709964 50000 Nregion +chr22 49973465 49975765 1500 Nregion +chr22 50808068 50818868 10000 telomere +chr3 0 10400 10000 telomere +chr3 90564895 90569228 3533 Nregion +chr3 90722058 90772858 50000 Nregion +chr3 91249505 91256821 6516 Nregion +chr3 91257490 91260580 2290 Nregion +chr3 91264981 91277394 11613 Nregion +chr3 91549600 93706400 2156000 centromere,Nregion +chr3 198235159 198295959 60000 telomere,Nregion +chr4 0 10400 10000 telomere +chr4 1428958 1434606 4848 Nregion +chr4 1435394 1441952 5758 Nregion +chr4 8797077 8816877 19000 Nregion +chr4 9272516 9323316 50000 Nregion +chr4 31818895 31832969 13274 Nregion +chr4 32832616 32839416 6000 Nregion +chr4 49079600 51810400 2730000 centromere,Nregion +chr4 58878393 58921781 42588 Nregion +chr4 190122721 190173521 50000 Nregion +chr4 190204155 190214955 10000 telomere +chr5 0 10400 10000 telomere +chr5 17530148 17580948 50000 Nregion +chr5 46429600 50120400 3690000 centromere,Nregion +chr5 139452259 139454059 1000 Nregion +chr5 155759924 155761724 1000 Nregion +chr5 181477859 181538659 60000 telomere,Nregion +chr6 0 60400 60000 telomere,Nregion +chr6 58449600 60230400 1780000 centromere,Nregion +chr6 61356629 61363466 6037 Nregion +chr6 95020390 95071190 50000 Nregion +chr6 167590993 167641793 50000 Nregion +chr6 170745579 170806379 60000 telomere,Nregion +chr7 0 10400 10000 telomere +chr7 237446 240642 2396 Nregion +chr7 58099600 60900400 2800000 centromere,Nregion +chr7 61327388 61378188 50000 Nregion +chr7 61527620 61578420 50000 Nregion +chr7 61963769 61967463 2894 Nregion +chr7 61975704 62026504 50000 Nregion +chr7 62456379 62507179 50000 Nregion +chr7 143650404 143701204 50000 Nregion +chr7 159335573 159346373 10000 telomere +chr8 0 60400 60000 telomere,Nregion +chr8 7616727 7667527 50000 Nregion +chr8 12233945 12284745 50000 Nregion +chr8 43979600 45950400 1970000 centromere,Nregion +chr8 85663822 85714622 50000 Nregion +chr8 145078236 145139036 60000 telomere,Nregion +chr9 0 10400 10000 telomere +chr9 41225586 41229778 3392 Nregion +chr9 43219600 60520400 17300000 centromere,Nregion +chr9 60688032 60738832 50000 Nregion +chr9 60779121 60829921 50000 Nregion +chr9 61003487 61054287 50000 Nregion +chr9 61231566 61282366 50000 Nregion +chr9 61468408 61519208 50000 Nregion +chr9 61734968 61785768 50000 Nregion +chr9 62149338 62250138 100000 Nregion +chr9 62748432 62799232 50000 Nregion +chr9 62957971 63008771 50000 Nregion +chr9 63202462 63253262 50000 Nregion +chr9 63491864 63542664 50000 Nregion +chr9 63918047 63968847 50000 Nregion +chr9 64134613 64185413 50000 Nregion +chr9 64214762 64315562 100000 Nregion +chr9 64997724 65048524 50000 Nregion +chr9 65079682 65130482 50000 Nregion +chr9 65324723 65375523 50000 Nregion +chr9 65594791 65645591 50000 Nregion +chr9 66390987 66591787 200000 Nregion +chr9 67920152 68220952 300000 Nregion +chr9 134182692 134185936 2444 Nregion +chr9 138334317 138395117 60000 telomere,Nregion +chrX 0 10400 10000 telomere +chrX 44421 95221 50000 Nregion +chrX 133471 222746 88475 Nregion +chrX 1948945 2133394 183649 Nregion +chrX 37098862 37286237 186575 Nregion +chrX 49347994 49528794 180000 Nregion +chrX 50228564 50279364 50000 Nregion +chrX 58539600 62500400 3960000 centromere,Nregion +chrX 114280798 114331598 50000 Nregion +chrX 115738549 115839349 100000 Nregion +chrX 116557379 116595966 37787 Nregion +chrX 120878981 120929781 50000 Nregion +chrX 144425206 144476006 50000 Nregion +chrX 156030495 156041295 10000 telomere +chrY 0 10400 10000 telomere +chrY 44421 95221 50000 Nregion +chrY 133471 222746 88475 Nregion +chrY 1948945 2133394 183649 Nregion +chrY 9046514 9055574 8260 Nregion +chrY 9057208 9108008 50000 Nregion +chrY 9113919 9116771 2052 Nregion +chrY 9403313 9454113 50000 Nregion +chrY 10266544 10600400 333056 centromere,Nregion +chrY 10633040 10646233 12393 Nregion +chrY 10649589 10651821 1432 Nregion +chrY 10673658 10676944 2486 Nregion +chrY 10679315 10682842 2727 Nregion +chrY 10693792 10744592 50000 Nregion +chrY 10852500 10855535 2235 Nregion +chrY 10890019 10892342 1523 Nregion +chrY 10896125 10898584 1659 Nregion +chrY 10922086 10923964 1078 Nregion +chrY 10965294 10967684 1590 Nregion +chrY 11592502 11643302 50000 Nregion +chrY 11659974 11662581 1807 Nregion +chrY 20207393 20258193 50000 Nregion +chrY 21739142 21741841 1899 Nregion +chrY 21788881 21805681 16000 Nregion +chrY 26672814 56673614 30000000 Nregion +chrY 56771109 56821909 50000 Nregion +chrY 57217015 57227815 10000 telomere diff --git a/nanovar/gaps/hg38_filter-B400.bed b/nanovar/gaps/hg38_filter-B400.bed deleted file mode 100644 index 40b985d..0000000 --- a/nanovar/gaps/hg38_filter-B400.bed +++ /dev/null @@ -1,72 +0,0 @@ -chr1 0 10400 10000 telomere -chr1 121699600 125100400 3400000 centromere -chr1 248946022 248956822 10000 telomere -chr10 0 10400 10000 telomere -chr10 37999600 41600400 300000 centromere -chr10 133787022 133797822 10000 telomere -chr11 0 10400 10000 telomere -chr11 50999600 55800400 3600000 centromere -chr11 135076222 135087022 10000 telomere -chr12 0 10400 10000 telomere -chr12 33199600 37800400 4800000 centromere -chr12 133264909 133275709 10000 telomere -chr13 0 10400 10000 telomere -chr13 16499600 18900400 4600000 centromere -chr13 114353928 114364728 10000 telomere -chr14 0 10400 10000 telomere -chr14 16099600 18200400 2400000 centromere -chr14 107033318 107044118 10000 telomere -chr15 0 10400 10000 telomere -chr15 17499600 20500400 2100000 centromere -chr15 101980789 101991589 10000 telomere -chr16 0 10400 10000 telomere -chr16 35299600 38400400 3000000 centromere -chr16 90327945 90338745 10000 telomere -chr17 0 10400 10000 telomere -chr17 22699600 27400400 3100000 centromere -chr17 83247041 83257841 10000 telomere -chr18 0 10400 10000 telomere -chr18 15399600 21500400 4700000 centromere -chr18 80362885 80373685 10000 telomere -chr19 0 10400 10000 telomere -chr19 24199600 28100400 6100000 centromere -chr19 58607216 58618016 10000 telomere -chr2 0 10400 10000 telomere -chr2 91799600 96000400 3400000 centromere -chr2 242183129 242193929 10000 telomere -chr20 0 10400 10000 telomere -chr20 25699600 30400400 3900000 centromere -chr20 64433767 64444567 10000 telomere -chr21 0 10400 10000 telomere -chr21 10899600 13000400 4700000 centromere -chr21 46699583 46710383 10000 telomere -chr22 0 10400 10000 telomere -chr22 13699600 17400400 2100000 centromere -chr22 50808068 50818868 10000 telomere -chr3 0 10400 10000 telomere -chr3 87799600 94000400 4200000 centromere -chr3 198285159 198295959 10000 telomere -chr4 0 10400 10000 telomere -chr4 48199600 51800400 6200000 centromere -chr4 190204155 190214955 10000 telomere -chr5 0 10400 10000 telomere -chr5 46099600 51400400 3600000 centromere -chr5 181527859 181538659 10000 telomere -chr6 0 10400 10000 telomere -chr6 58499600 62600400 5300000 centromere -chr6 170795579 170806379 10000 telomere -chr7 0 10400 10000 telomere -chr7 58099600 62100400 4100000 centromere -chr7 159335573 159346373 10000 telomere -chr8 0 10400 10000 telomere -chr8 43199600 47200400 4000000 centromere -chr8 145128236 145139036 10000 telomere -chr9 0 10400 10000 telomere -chr9 42199600 45500400 4000000 centromere -chr9 138384317 138395117 10000 telomere -chrX 0 10400 10000 telomere -chrX 58099600 63800400 3300000 centromere -chrX 156030495 156041295 10000 telomere -chrY 0 10400 10000 telomere -chrY 10299600 10600400 5700000 centromere -chrY 57217015 57227815 10000 telomere diff --git a/nanovar/gaps/hg38_filter.bed b/nanovar/gaps/hg38_filter.bed deleted file mode 100644 index 29dc8aa..0000000 --- a/nanovar/gaps/hg38_filter.bed +++ /dev/null @@ -1,72 +0,0 @@ -chr1 0 10000 10000 telomere -chr1 121700000 125100000 3400000 centromere -chr1 248946422 248956422 10000 telomere -chr10 0 10000 10000 telomere -chr10 38000000 41600000 300000 centromere -chr10 133787422 133797422 10000 telomere -chr11 0 10000 10000 telomere -chr11 51000000 55800000 3600000 centromere -chr11 135076622 135086622 10000 telomere -chr12 0 10000 10000 telomere -chr12 33200000 37800000 4800000 centromere -chr12 133265309 133275309 10000 telomere -chr13 0 10000 10000 telomere -chr13 16500000 18900000 4600000 centromere -chr13 114354328 114364328 10000 telomere -chr14 0 10000 10000 telomere -chr14 16100000 18200000 2400000 centromere -chr14 107033718 107043718 10000 telomere -chr15 0 10000 10000 telomere -chr15 17500000 20500000 2100000 centromere -chr15 101981189 101991189 10000 telomere -chr16 0 10000 10000 telomere -chr16 35300000 38400000 3000000 centromere -chr16 90328345 90338345 10000 telomere -chr17 0 10000 10000 telomere -chr17 22700000 27400000 3100000 centromere -chr17 83247441 83257441 10000 telomere -chr18 0 10000 10000 telomere -chr18 15400000 21500000 4700000 centromere -chr18 80363285 80373285 10000 telomere -chr19 0 10000 10000 telomere -chr19 24200000 28100000 6100000 centromere -chr19 58607616 58617616 10000 telomere -chr2 0 10000 10000 telomere -chr2 91800000 96000000 3400000 centromere -chr2 242183529 242193529 10000 telomere -chr20 0 10000 10000 telomere -chr20 25700000 30400000 3900000 centromere -chr20 64434167 64444167 10000 telomere -chr21 0 10000 10000 telomere -chr21 10900000 13000000 4700000 centromere -chr21 46699983 46709983 10000 telomere -chr22 0 10000 10000 telomere -chr22 13700000 17400000 2100000 centromere -chr22 50808468 50818468 10000 telomere -chr3 0 10000 10000 telomere -chr3 87800000 94000000 4200000 centromere -chr3 198285559 198295559 10000 telomere -chr4 0 10000 10000 telomere -chr4 48200000 51800000 6200000 centromere -chr4 190204555 190214555 10000 telomere -chr5 0 10000 10000 telomere -chr5 46100000 51400000 3600000 centromere -chr5 181528259 181538259 10000 telomere -chr6 0 10000 10000 telomere -chr6 58500000 62600000 5300000 centromere -chr6 170795979 170805979 10000 telomere -chr7 0 10000 10000 telomere -chr7 58100000 62100000 4100000 centromere -chr7 159335973 159345973 10000 telomere -chr8 0 10000 10000 telomere -chr8 43200000 47200000 4000000 centromere -chr8 145128636 145138636 10000 telomere -chr9 0 10000 10000 telomere -chr9 42200000 45500000 4000000 centromere -chr9 138384717 138394717 10000 telomere -chrX 0 10000 10000 telomere -chrX 58100000 63800000 3300000 centromere -chrX 156030895 156040895 10000 telomere -chrY 0 10000 10000 telomere -chrY 10300000 10600000 5700000 centromere -chrY 57217415 57227415 10000 telomere diff --git a/nanovar/gaps/mm10_filter.bed b/nanovar/gaps/mm10_filter.bed deleted file mode 100644 index 474d6e1..0000000 --- a/nanovar/gaps/mm10_filter.bed +++ /dev/null @@ -1,62 +0,0 @@ -chr1 0 100000 100000 telomere -chr1 110000 3000000 2890000 centromere -chr1 195371971 195471971 100000 telomere -chr10 0 100000 100000 telomere -chr10 110000 3000000 2890000 centromere -chr10 130594993 130694993 100000 telomere -chr11 0 100000 100000 telomere -chr11 110000 3000000 2890000 centromere -chr11 121982543 122082543 100000 telomere -chr12 0 100000 100000 telomere -chr12 110000 3000000 2890000 centromere -chr12 120029022 120129022 100000 telomere -chr13 0 100000 100000 telomere -chr13 110000 3000000 2890000 centromere -chr13 120321639 120421639 100000 telomere -chr14 0 100000 100000 telomere -chr14 110000 3000000 2890000 centromere -chr14 124802244 124902244 100000 telomere -chr15 0 100000 100000 telomere -chr15 110000 3000000 2890000 centromere -chr15 103943685 104043685 100000 telomere -chr16 0 100000 100000 telomere -chr16 110000 3000000 2890000 centromere -chr16 98107768 98207768 100000 telomere -chr17 0 100000 100000 telomere -chr17 110000 3000000 2890000 centromere -chr17 94887271 94987271 100000 telomere -chr18 0 100000 100000 telomere -chr18 110000 3000000 2890000 centromere -chr18 90602639 90702639 100000 telomere -chr19 0 100000 100000 telomere -chr19 110000 3000000 2890000 centromere -chr19 61331566 61431566 100000 telomere -chr2 0 100000 100000 telomere -chr2 110000 3000000 2890000 centromere -chr2 182013224 182113224 100000 telomere -chr3 0 100000 100000 telomere -chr3 110000 3000000 2890000 centromere -chr3 159939680 160039680 100000 telomere -chr4 0 100000 100000 telomere -chr4 110000 3000000 2890000 centromere -chr4 156408116 156508116 100000 telomere -chr5 0 100000 100000 telomere -chr5 110000 3000000 2890000 centromere -chr5 151734684 151834684 100000 telomere -chr6 0 100000 100000 telomere -chr6 110000 3000000 2890000 centromere -chr6 149636546 149736546 100000 telomere -chr7 0 100000 100000 telomere -chr7 110000 3000000 2890000 centromere -chr7 145341459 145441459 100000 telomere -chr8 0 100000 100000 telomere -chr8 110000 3000000 2890000 centromere -chr8 129301213 129401213 100000 telomere -chr9 0 100000 100000 telomere -chr9 110000 3000000 2890000 centromere -chr9 124495110 124595110 100000 telomere -chrX 0 100000 100000 telomere -chrX 110000 3000000 2890000 centromere -chrX 170931299 171031299 100000 telomere -chrY 0 100000 100000 telomere -chrY 91644698 91744698 100000 telomere diff --git a/nanovar/nanovar b/nanovar/nanovar index be7b566..1acd15d 100644 --- a/nanovar/nanovar +++ b/nanovar/nanovar @@ -5,7 +5,7 @@ NanoVar This is the main executable file of the program NanoVar. -Copyright (C) 2019 Tham Cheng Yong +Copyright (C) 2021 Tham Cheng Yong NanoVar is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -30,6 +30,7 @@ import pysam import logging import nanovar import random +import pickle import threading from datetime import datetime from nanovar import __version__, input_parser, gzip_check, fastx_valid, bed_valid, check_exe, check_index @@ -45,6 +46,7 @@ def main(): wk_dir = args.dir data_type = args.data_type genome_filter = args.filter_bed + cnv = args.cnv minlen = args.minlen splitpct = args.splitpct minalign = args.minalign @@ -59,11 +61,15 @@ def main(): force = args.force model_path = args.model filter_bed_dir = os.path.join(os.path.dirname(nanovar.__file__), 'gaps') + ref_dir = os.path.join(os.path.dirname(nanovar.__file__), 'ref') mm = args.mm st = args.st mdb = args.mdb wmk = args.wmk hsb = args.hsb + pickle_bool = args.pickle + archivefasta = args.archivefasta + blastout = args.blastout # Check model file if model_path is None: @@ -94,6 +100,27 @@ def main(): wmk = check_exe(wmk, 'windowmasker') hsb = check_exe(hsb, 'hs-blastn') + # If additional CNV mode + hg38_size_dict = {} + if cnv: + # Check CytoCAD + try: + import cytocad + data_dir = os.path.join(os.path.dirname(cytocad.__file__), 'data') + hg38_size_path = os.path.join(data_dir, 'hg38_sizes_main.bed') + with open(hg38_size_path) as f: + for bed in f: + line = bed.split('\t') + hg38_size_dict[line[0]] = int(line[2]) + except ImportError: + raise Exception("Error: cytocad module not found, please install CytoCAD - https://github.com/cytham/cytocad") + # Check tagore and rsvg + _ = check_exe(None, 'tagore') + _ = check_exe(None, 'rsvg-convert') + # Check hg38 build input + if cnv != 'hg38': + raise Exception("Error: Reference genome build %s is not recognised. CytoCAD only supports build hg38." % cnv) + # Observe verbosity if quiet: sys.stdout = open(os.devnull, 'w') @@ -151,7 +178,7 @@ def main(): if fastx_check[0] == "Fail": logging.critical("Error: Input FASTQ/FASTA file is corrupted around line %s +/- 4" % str(fastx_check[1])) raise Exception("Error: Input FASTQ/FASTA file is corrupted around line %s +/- 4" % str(fastx_check[1])) - else: + elif fastx_check[0] == "Pass": logging.debug("Input FASTQ/FASTA file passed") elif filename.lower().endswith(bam_suffix): save = pysam.set_verbosity(0) # Suppress BAM index missing warning @@ -174,8 +201,8 @@ def main(): raise Exception("Error: Input file is not recognised, please ensure file suffix has '.fa' or '.fq' or '.bam'") if gzip_check(ref_path): - logging.critical("Error: Input reference file is gzipped, please unpack it") - raise Exception("Error: Input reference file is gzipped, please unpack it") + logging.critical("Error: Input reference file is gzipped, please unzip it") + raise Exception("Error: Input reference file is gzipped, please unzip it") # Logging config info logging.info('Input file: %s' % file_path) @@ -207,6 +234,16 @@ def main(): contig_len_dict[seq_record.id] = len(seq_record) total_gsize += len(seq_record) + # Check if contig sizes from BAM is same as hg38 if CNV mode + if cnv: + for chrom in hg38_size_dict: + if chrom in contig_len_dict: + if contig_len_dict[chrom] != hg38_size_dict[chrom]: + raise Exception("Error: Contig %s in BAM (%i) has different length in hg38 genome assembly (%i)" % + (chrom, contig_len_dict[chrom], hg38_size_dict[chrom])) + else: + raise Exception("Error: hg38 contig %s is absent in BAM" % chrom) + # Check BAM contigs in reference genome if input_type == 'bam': for c in contig_list: @@ -219,7 +256,9 @@ def main(): # Validate filter BED file if genome_filter is not None: - if genome_filter in ('hg38', 'hg19', 'mm10'): + if genome_filter == 'hg38': + filter_path = os.path.join(filter_bed_dir, genome_filter + '_curated_filter_main.bed') + elif genome_filter in ('hg19', 'mm10'): filter_path = os.path.join(filter_bed_dir, genome_filter + '_filter-B400.bed') else: filter_path = genome_filter @@ -297,7 +336,7 @@ def main(): logging.info('Parsing BAM and detecting SVs') run = VariantDetect(wk_dir, bam_path, splitpct, minalign, filter_path, minlen, buff, model_path, total_gsize, contig_len_dict, score_threshold, file_path, input_name, ref_path, ref_name, mma[0], - mincov, homo_t, het_t, debug, contig_omit) + mincov, homo_t, het_t, debug, contig_omit, cnv) run.bam_parse_detect() run.coverage_stats() @@ -341,10 +380,13 @@ def main(): make_index(force, ref_path, wk_dir, ref_name, mdb, wmk, hsb) # Run hsblastn on INS and INV reads - hsba = align_hsb(ref_path, wk_dir, ref_name, threads_bt, hsb, debug) + if not blastout: + hsba = align_hsb(ref_path, wk_dir, ref_name, threads_bt, hsb, debug) + else: + hsba = ['blast-command', blastout] sub_run = VariantDetect(wk_dir, hsba[1], splitpct, minalign, filter_path, minlen, buff, model_path, total_gsize, contig_len_dict, score_threshold, file_path, input_name, ref_path, ref_name, hsba[0], - mincov, homo_t, het_t, debug, contig_omit) + mincov, homo_t, het_t, debug, contig_omit, cnv) # Parsing INS and INV SVs and clustering sub_run.rlendict = run.rlendict @@ -367,11 +409,32 @@ def main(): else: print('Generating VCF files and report -') + # Analyze TE + from nanovar.nv_te_analyzer import te_analyzer + pysam.faidx(os.path.join(wk_dir, 'temp1.fa')) + index2te = te_analyzer(wk_dir, run.out_nn, run.total_out, sub_run.total_out, score_threshold, ref_dir, hsb, mdb, threads, debug) + # Write parse2 and cluster intermediate files run.write2file(add_out=sub_run.total_out) + # Pickle objects + if pickle_bool: + saveobjects = (wk_dir, bam_path, splitpct, minalign, filter_path, minlen, buff, model_path, + total_gsize, contig_len_dict, score_threshold, file_path, input_name, ref_path, ref_name, mma[0], + mincov, homo_t, het_t, debug, contig_omit, cnv, run.rlendict, run.total_subdata, run.total_out, + run.out_nn, sub_run.total_out) + with open(os.path.join(wk_dir, "nv_run.pkl"), "wb") as f: + pickle.dump(saveobjects, f) + + # Delete temporary fasta file + if not archivefasta: + f = os.path.join(wk_dir, 'temp1.fa') + os.remove(f) + f = os.path.join(wk_dir, 'temp1.fa.fai') + os.remove(f) + # Generating VCF and HTML report - run.vcf_report() + run.vcf_report(index2te) logging.info('NanoVar ended') now = datetime.now() if spin_switch: diff --git a/nanovar/nv_align.py b/nanovar/nv_align.py index d8b05b3..0b9e0d5 100644 --- a/nanovar/nv_align.py +++ b/nanovar/nv_align.py @@ -1,7 +1,7 @@ """ Functions for index and blast alignment. -Copyright (C) 2019 Tham Cheng Yong +Copyright (C) 2021 Tham Cheng Yong This file is part of NanoVar. diff --git a/nanovar/nv_bam_parser.c b/nanovar/nv_bam_parser.c index b7306e6..b41de96 100644 --- a/nanovar/nv_bam_parser.c +++ b/nanovar/nv_bam_parser.c @@ -1555,7 +1555,7 @@ static const char __pyx_k_bam_parse_locals_lambda[] = "bam_parse..' + qname + '\n' + seg.query_sequence + '\n') - * rlendict[qname] = len(seg.query_sequence) + * fasta.write('>' + qname + '\n' + seg.query_sequence + '\n') */ __pyx_t_9 = ((__pyx_v_flag == 4) != 0); if (__pyx_t_9) { @@ -2599,8 +2599,8 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj * qname = seg.query_name * if flag == 4: * fasta2.write('>' + qname + '\n' + seg.query_sequence + '\n') # <<<<<<<<<<<<<< + * fasta.write('>' + qname + '\n' + seg.query_sequence + '\n') * rlendict[qname] = len(seg.query_sequence) - * continue */ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_fasta2, __pyx_n_s_write); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 58, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); @@ -2639,21 +2639,62 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj /* "nanovar/nv_bam_parser.pyx":59 * if flag == 4: * fasta2.write('>' + qname + '\n' + seg.query_sequence + '\n') + * fasta.write('>' + qname + '\n' + seg.query_sequence + '\n') # <<<<<<<<<<<<<< + * rlendict[qname] = len(seg.query_sequence) + * continue + */ + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_fasta, __pyx_n_s_write); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 59, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = PyNumber_Add(__pyx_kp_s_, __pyx_v_qname); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 59, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_11 = PyNumber_Add(__pyx_t_3, __pyx_kp_s__2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 59, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_seg, __pyx_n_s_query_sequence); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 59, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_10 = PyNumber_Add(__pyx_t_11, __pyx_t_3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 59, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyNumber_Add(__pyx_t_10, __pyx_kp_s__2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 59, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_10 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_10)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_10); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_5 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_10, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 59, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "nanovar/nv_bam_parser.pyx":60 + * fasta2.write('>' + qname + '\n' + seg.query_sequence + '\n') + * fasta.write('>' + qname + '\n' + seg.query_sequence + '\n') * rlendict[qname] = len(seg.query_sequence) # <<<<<<<<<<<<<< * continue * rname = seg.reference_name */ - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_seg, __pyx_n_s_query_sequence); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 59, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_seg, __pyx_n_s_query_sequence); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 60, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_12 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_12 == ((Py_ssize_t)-1))) __PYX_ERR(0, 59, __pyx_L1_error) + __pyx_t_12 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_12 == ((Py_ssize_t)-1))) __PYX_ERR(0, 60, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 59, __pyx_L1_error) + __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 60, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - if (unlikely(PyDict_SetItem(__pyx_v_rlendict, __pyx_v_qname, __pyx_t_5) < 0)) __PYX_ERR(0, 59, __pyx_L1_error) + if (unlikely(PyDict_SetItem(__pyx_v_rlendict, __pyx_v_qname, __pyx_t_5) < 0)) __PYX_ERR(0, 60, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "nanovar/nv_bam_parser.pyx":60 - * fasta2.write('>' + qname + '\n' + seg.query_sequence + '\n') + /* "nanovar/nv_bam_parser.pyx":61 + * fasta.write('>' + qname + '\n' + seg.query_sequence + '\n') * rlendict[qname] = len(seg.query_sequence) * continue # <<<<<<<<<<<<<< * rname = seg.reference_name @@ -2666,31 +2707,31 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj * qname = seg.query_name * if flag == 4: # <<<<<<<<<<<<<< * fasta2.write('>' + qname + '\n' + seg.query_sequence + '\n') - * rlendict[qname] = len(seg.query_sequence) + * fasta.write('>' + qname + '\n' + seg.query_sequence + '\n') */ } - /* "nanovar/nv_bam_parser.pyx":61 + /* "nanovar/nv_bam_parser.pyx":62 * rlendict[qname] = len(seg.query_sequence) * continue * rname = seg.reference_name # <<<<<<<<<<<<<< * readlen = seg.infer_read_length() * rstart = seg.reference_start */ - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_seg, __pyx_n_s_reference_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 61, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_seg, __pyx_n_s_reference_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 62, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - if (!(likely(PyString_CheckExact(__pyx_t_5))||((__pyx_t_5) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_5)->tp_name), 0))) __PYX_ERR(0, 61, __pyx_L1_error) + if (!(likely(PyString_CheckExact(__pyx_t_5))||((__pyx_t_5) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_5)->tp_name), 0))) __PYX_ERR(0, 62, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_rname, ((PyObject*)__pyx_t_5)); __pyx_t_5 = 0; - /* "nanovar/nv_bam_parser.pyx":62 + /* "nanovar/nv_bam_parser.pyx":63 * continue * rname = seg.reference_name * readlen = seg.infer_read_length() # <<<<<<<<<<<<<< * rstart = seg.reference_start * rend = seg.reference_end */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_seg, __pyx_n_s_infer_read_length); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 62, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_seg, __pyx_n_s_infer_read_length); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 63, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -2704,60 +2745,60 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj } __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 62, __pyx_L1_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 63, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_8 = __Pyx_PyInt_As_unsigned_int(__pyx_t_5); if (unlikely((__pyx_t_8 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 62, __pyx_L1_error) + __pyx_t_8 = __Pyx_PyInt_As_unsigned_int(__pyx_t_5); if (unlikely((__pyx_t_8 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 63, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_readlen = __pyx_t_8; - /* "nanovar/nv_bam_parser.pyx":63 + /* "nanovar/nv_bam_parser.pyx":64 * rname = seg.reference_name * readlen = seg.infer_read_length() * rstart = seg.reference_start # <<<<<<<<<<<<<< * rend = seg.reference_end * qlen = seg.query_alignment_length */ - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_seg, __pyx_n_s_reference_start); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 63, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_seg, __pyx_n_s_reference_start); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 64, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_8 = __Pyx_PyInt_As_unsigned_int(__pyx_t_5); if (unlikely((__pyx_t_8 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 63, __pyx_L1_error) + __pyx_t_8 = __Pyx_PyInt_As_unsigned_int(__pyx_t_5); if (unlikely((__pyx_t_8 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 64, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_rstart = __pyx_t_8; - /* "nanovar/nv_bam_parser.pyx":64 + /* "nanovar/nv_bam_parser.pyx":65 * readlen = seg.infer_read_length() * rstart = seg.reference_start * rend = seg.reference_end # <<<<<<<<<<<<<< * qlen = seg.query_alignment_length * nm = seg.get_tag('NM') */ - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_seg, __pyx_n_s_reference_end); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 64, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_seg, __pyx_n_s_reference_end); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 65, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_8 = __Pyx_PyInt_As_unsigned_int(__pyx_t_5); if (unlikely((__pyx_t_8 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 64, __pyx_L1_error) + __pyx_t_8 = __Pyx_PyInt_As_unsigned_int(__pyx_t_5); if (unlikely((__pyx_t_8 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 65, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_rend = __pyx_t_8; - /* "nanovar/nv_bam_parser.pyx":65 + /* "nanovar/nv_bam_parser.pyx":66 * rstart = seg.reference_start * rend = seg.reference_end * qlen = seg.query_alignment_length # <<<<<<<<<<<<<< * nm = seg.get_tag('NM') * total_score = seg.get_tag('AS') */ - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_seg, __pyx_n_s_query_alignment_length); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 65, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_seg, __pyx_n_s_query_alignment_length); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 66, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_8 = __Pyx_PyInt_As_unsigned_int(__pyx_t_5); if (unlikely((__pyx_t_8 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 65, __pyx_L1_error) + __pyx_t_8 = __Pyx_PyInt_As_unsigned_int(__pyx_t_5); if (unlikely((__pyx_t_8 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 66, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_qlen = __pyx_t_8; - /* "nanovar/nv_bam_parser.pyx":66 + /* "nanovar/nv_bam_parser.pyx":67 * rend = seg.reference_end * qlen = seg.query_alignment_length * nm = seg.get_tag('NM') # <<<<<<<<<<<<<< * total_score = seg.get_tag('AS') * cigar_tup = seg.cigartuples */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_seg, __pyx_n_s_get_tag); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 66, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_seg, __pyx_n_s_get_tag); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 67, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -2771,21 +2812,21 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj } __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_n_s_NM) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_n_s_NM); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 66, __pyx_L1_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 67, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_8 = __Pyx_PyInt_As_unsigned_int(__pyx_t_5); if (unlikely((__pyx_t_8 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 66, __pyx_L1_error) + __pyx_t_8 = __Pyx_PyInt_As_unsigned_int(__pyx_t_5); if (unlikely((__pyx_t_8 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 67, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_nm = __pyx_t_8; - /* "nanovar/nv_bam_parser.pyx":67 + /* "nanovar/nv_bam_parser.pyx":68 * qlen = seg.query_alignment_length * nm = seg.get_tag('NM') * total_score = seg.get_tag('AS') # <<<<<<<<<<<<<< * cigar_tup = seg.cigartuples * adv, qseg, sseg, del_list, ins_list = read_cigar(cigar_tup, minlen, splitpct, rstart, rend, readlen) */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_seg, __pyx_n_s_get_tag); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 67, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_seg, __pyx_n_s_get_tag); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 68, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -2799,34 +2840,34 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj } __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_n_s_AS) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_n_s_AS); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 67, __pyx_L1_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 68, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 67, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 68, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_total_score = __pyx_t_4; - /* "nanovar/nv_bam_parser.pyx":68 + /* "nanovar/nv_bam_parser.pyx":69 * nm = seg.get_tag('NM') * total_score = seg.get_tag('AS') * cigar_tup = seg.cigartuples # <<<<<<<<<<<<<< * adv, qseg, sseg, del_list, ins_list = read_cigar(cigar_tup, minlen, splitpct, rstart, rend, readlen) * if flag in (0, 16): */ - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_seg, __pyx_n_s_cigartuples); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 68, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_seg, __pyx_n_s_cigartuples); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 69, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - if (!(likely(PyList_CheckExact(__pyx_t_5))||((__pyx_t_5) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_5)->tp_name), 0))) __PYX_ERR(0, 68, __pyx_L1_error) + if (!(likely(PyList_CheckExact(__pyx_t_5))||((__pyx_t_5) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_5)->tp_name), 0))) __PYX_ERR(0, 69, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_cigar_tup, ((PyObject*)__pyx_t_5)); __pyx_t_5 = 0; - /* "nanovar/nv_bam_parser.pyx":69 + /* "nanovar/nv_bam_parser.pyx":70 * total_score = seg.get_tag('AS') * cigar_tup = seg.cigartuples * adv, qseg, sseg, del_list, ins_list = read_cigar(cigar_tup, minlen, splitpct, rstart, rend, readlen) # <<<<<<<<<<<<<< * if flag in (0, 16): * try: */ - __pyx_t_5 = __pyx_f_7nanovar_13nv_bam_parser_read_cigar(__pyx_v_cigar_tup, __pyx_v_minlen, __pyx_v_splitpct, __pyx_v_rstart, __pyx_v_rend, __pyx_v_readlen); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 69, __pyx_L1_error) + __pyx_t_5 = __pyx_f_7nanovar_13nv_bam_parser_read_cigar(__pyx_v_cigar_tup, __pyx_v_minlen, __pyx_v_splitpct, __pyx_v_rstart, __pyx_v_rend, __pyx_v_readlen); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 70, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if ((likely(PyTuple_CheckExact(__pyx_t_5))) || (PyList_CheckExact(__pyx_t_5))) { PyObject* sequence = __pyx_t_5; @@ -2834,33 +2875,33 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj if (unlikely(size != 5)) { if (size > 5) __Pyx_RaiseTooManyValuesError(5); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 69, __pyx_L1_error) + __PYX_ERR(0, 70, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_3 = PyTuple_GET_ITEM(sequence, 1); - __pyx_t_11 = PyTuple_GET_ITEM(sequence, 2); - __pyx_t_10 = PyTuple_GET_ITEM(sequence, 3); + __pyx_t_10 = PyTuple_GET_ITEM(sequence, 2); + __pyx_t_11 = PyTuple_GET_ITEM(sequence, 3); __pyx_t_13 = PyTuple_GET_ITEM(sequence, 4); } else { __pyx_t_2 = PyList_GET_ITEM(sequence, 0); __pyx_t_3 = PyList_GET_ITEM(sequence, 1); - __pyx_t_11 = PyList_GET_ITEM(sequence, 2); - __pyx_t_10 = PyList_GET_ITEM(sequence, 3); + __pyx_t_10 = PyList_GET_ITEM(sequence, 2); + __pyx_t_11 = PyList_GET_ITEM(sequence, 3); __pyx_t_13 = PyList_GET_ITEM(sequence, 4); } __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(__pyx_t_10); + __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(__pyx_t_13); #else { Py_ssize_t i; - PyObject** temps[5] = {&__pyx_t_2,&__pyx_t_3,&__pyx_t_11,&__pyx_t_10,&__pyx_t_13}; + PyObject** temps[5] = {&__pyx_t_2,&__pyx_t_3,&__pyx_t_10,&__pyx_t_11,&__pyx_t_13}; for (i=0; i < 5; i++) { - PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 69, __pyx_L1_error) + PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 70, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } @@ -2869,8 +2910,8 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else { Py_ssize_t index = -1; - PyObject** temps[5] = {&__pyx_t_2,&__pyx_t_3,&__pyx_t_11,&__pyx_t_10,&__pyx_t_13}; - __pyx_t_14 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 69, __pyx_L1_error) + PyObject** temps[5] = {&__pyx_t_2,&__pyx_t_3,&__pyx_t_10,&__pyx_t_11,&__pyx_t_13}; + __pyx_t_14 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 70, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_15 = Py_TYPE(__pyx_t_14)->tp_iternext; @@ -2879,7 +2920,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj __Pyx_GOTREF(item); *(temps[index]) = item; } - if (__Pyx_IternextUnpackEndCheck(__pyx_t_15(__pyx_t_14), 5) < 0) __PYX_ERR(0, 69, __pyx_L1_error) + if (__Pyx_IternextUnpackEndCheck(__pyx_t_15(__pyx_t_14), 5) < 0) __PYX_ERR(0, 70, __pyx_L1_error) __pyx_t_15 = NULL; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; goto __pyx_L7_unpacking_done; @@ -2887,26 +2928,26 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_15 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 69, __pyx_L1_error) + __PYX_ERR(0, 70, __pyx_L1_error) __pyx_L7_unpacking_done:; } - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 69, __pyx_L1_error) + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 70, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (!(likely(PyList_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(0, 69, __pyx_L1_error) - if (!(likely(PyList_CheckExact(__pyx_t_11))||((__pyx_t_11) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_11)->tp_name), 0))) __PYX_ERR(0, 69, __pyx_L1_error) - if (!(likely(PyList_CheckExact(__pyx_t_10))||((__pyx_t_10) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_10)->tp_name), 0))) __PYX_ERR(0, 69, __pyx_L1_error) - if (!(likely(PyList_CheckExact(__pyx_t_13))||((__pyx_t_13) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_13)->tp_name), 0))) __PYX_ERR(0, 69, __pyx_L1_error) + if (!(likely(PyList_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(0, 70, __pyx_L1_error) + if (!(likely(PyList_CheckExact(__pyx_t_10))||((__pyx_t_10) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_10)->tp_name), 0))) __PYX_ERR(0, 70, __pyx_L1_error) + if (!(likely(PyList_CheckExact(__pyx_t_11))||((__pyx_t_11) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_11)->tp_name), 0))) __PYX_ERR(0, 70, __pyx_L1_error) + if (!(likely(PyList_CheckExact(__pyx_t_13))||((__pyx_t_13) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_13)->tp_name), 0))) __PYX_ERR(0, 70, __pyx_L1_error) __pyx_v_adv = __pyx_t_9; __Pyx_XDECREF_SET(__pyx_v_qseg, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - __Pyx_XDECREF_SET(__pyx_v_sseg, ((PyObject*)__pyx_t_11)); - __pyx_t_11 = 0; - __Pyx_XDECREF_SET(__pyx_v_del_list, ((PyObject*)__pyx_t_10)); + __Pyx_XDECREF_SET(__pyx_v_sseg, ((PyObject*)__pyx_t_10)); __pyx_t_10 = 0; + __Pyx_XDECREF_SET(__pyx_v_del_list, ((PyObject*)__pyx_t_11)); + __pyx_t_11 = 0; __Pyx_XDECREF_SET(__pyx_v_ins_list, ((PyObject*)__pyx_t_13)); __pyx_t_13 = 0; - /* "nanovar/nv_bam_parser.pyx":70 + /* "nanovar/nv_bam_parser.pyx":71 * cigar_tup = seg.cigartuples * adv, qseg, sseg, del_list, ins_list = read_cigar(cigar_tup, minlen, splitpct, rstart, rend, readlen) * if flag in (0, 16): # <<<<<<<<<<<<<< @@ -2917,7 +2958,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj case 0: case 16: - /* "nanovar/nv_bam_parser.pyx":71 + /* "nanovar/nv_bam_parser.pyx":72 * adv, qseg, sseg, del_list, ins_list = read_cigar(cigar_tup, minlen, splitpct, rstart, rend, readlen) * if flag in (0, 16): * try: # <<<<<<<<<<<<<< @@ -2933,21 +2974,21 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj __Pyx_XGOTREF(__pyx_t_18); /*try:*/ { - /* "nanovar/nv_bam_parser.pyx":72 + /* "nanovar/nv_bam_parser.pyx":73 * if flag in (0, 16): * try: * if repeat_dict[qname]: # <<<<<<<<<<<<<< * pass * except KeyError: */ - __pyx_t_5 = __Pyx_PyDict_GetItem(__pyx_v_repeat_dict, __pyx_v_qname); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 72, __pyx_L8_error) + __pyx_t_5 = __Pyx_PyDict_GetItem(__pyx_v_repeat_dict, __pyx_v_qname); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 73, __pyx_L8_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 72, __pyx_L8_error) + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 73, __pyx_L8_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_9) { } - /* "nanovar/nv_bam_parser.pyx":71 + /* "nanovar/nv_bam_parser.pyx":72 * adv, qseg, sseg, del_list, ins_list = read_cigar(cigar_tup, minlen, splitpct, rstart, rend, readlen) * if flag in (0, 16): * try: # <<<<<<<<<<<<<< @@ -2968,7 +3009,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "nanovar/nv_bam_parser.pyx":74 + /* "nanovar/nv_bam_parser.pyx":75 * if repeat_dict[qname]: * pass * except KeyError: # <<<<<<<<<<<<<< @@ -2978,41 +3019,41 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_KeyError); if (__pyx_t_4) { __Pyx_AddTraceback("nanovar.nv_bam_parser.bam_parse", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_13, &__pyx_t_10) < 0) __PYX_ERR(0, 74, __pyx_L10_except_error) + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_13, &__pyx_t_11) < 0) __PYX_ERR(0, 75, __pyx_L10_except_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_13); - __Pyx_GOTREF(__pyx_t_10); + __Pyx_GOTREF(__pyx_t_11); - /* "nanovar/nv_bam_parser.pyx":75 + /* "nanovar/nv_bam_parser.pyx":76 * pass * except KeyError: * repeat_dict[qname] = '' # <<<<<<<<<<<<<< * fasta.write('>' + qname + '\n' + seg.query_sequence + '\n') * rlendict[qname] = readlen */ - if (unlikely(PyDict_SetItem(__pyx_v_repeat_dict, __pyx_v_qname, __pyx_kp_s__3) < 0)) __PYX_ERR(0, 75, __pyx_L10_except_error) + if (unlikely(PyDict_SetItem(__pyx_v_repeat_dict, __pyx_v_qname, __pyx_kp_s__3) < 0)) __PYX_ERR(0, 76, __pyx_L10_except_error) - /* "nanovar/nv_bam_parser.pyx":76 + /* "nanovar/nv_bam_parser.pyx":77 * except KeyError: * repeat_dict[qname] = '' * fasta.write('>' + qname + '\n' + seg.query_sequence + '\n') # <<<<<<<<<<<<<< * rlendict[qname] = readlen * try: */ - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_fasta, __pyx_n_s_write); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 76, __pyx_L10_except_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_fasta, __pyx_n_s_write); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 77, __pyx_L10_except_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = PyNumber_Add(__pyx_kp_s_, __pyx_v_qname); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 76, __pyx_L10_except_error) + __pyx_t_2 = PyNumber_Add(__pyx_kp_s_, __pyx_v_qname); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 77, __pyx_L10_except_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_14 = PyNumber_Add(__pyx_t_2, __pyx_kp_s__2); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 76, __pyx_L10_except_error) + __pyx_t_14 = PyNumber_Add(__pyx_t_2, __pyx_kp_s__2); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 77, __pyx_L10_except_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_seg, __pyx_n_s_query_sequence); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 76, __pyx_L10_except_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_seg, __pyx_n_s_query_sequence); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 77, __pyx_L10_except_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_19 = PyNumber_Add(__pyx_t_14, __pyx_t_2); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 76, __pyx_L10_except_error) + __pyx_t_19 = PyNumber_Add(__pyx_t_14, __pyx_t_2); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 77, __pyx_L10_except_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyNumber_Add(__pyx_t_19, __pyx_kp_s__2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 76, __pyx_L10_except_error) + __pyx_t_2 = PyNumber_Add(__pyx_t_19, __pyx_kp_s__2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 77, __pyx_L10_except_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = NULL; @@ -3025,34 +3066,34 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj __Pyx_DECREF_SET(__pyx_t_3, function); } } - __pyx_t_11 = (__pyx_t_19) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_19, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); + __pyx_t_10 = (__pyx_t_19) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_19, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 76, __pyx_L10_except_error) - __Pyx_GOTREF(__pyx_t_11); + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 77, __pyx_L10_except_error) + __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - /* "nanovar/nv_bam_parser.pyx":77 + /* "nanovar/nv_bam_parser.pyx":78 * repeat_dict[qname] = '' * fasta.write('>' + qname + '\n' + seg.query_sequence + '\n') * rlendict[qname] = readlen # <<<<<<<<<<<<<< * try: * main_dict[qname].append((adv, qname, rname, rstart, rend, readlen, qlen, flag, nm, total_score, qseg, sseg, del_list, */ - __pyx_t_11 = __Pyx_PyInt_From_unsigned_int(__pyx_v_readlen); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 77, __pyx_L10_except_error) - __Pyx_GOTREF(__pyx_t_11); - if (unlikely(PyDict_SetItem(__pyx_v_rlendict, __pyx_v_qname, __pyx_t_11) < 0)) __PYX_ERR(0, 77, __pyx_L10_except_error) - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __pyx_t_10 = __Pyx_PyInt_From_unsigned_int(__pyx_v_readlen); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 78, __pyx_L10_except_error) + __Pyx_GOTREF(__pyx_t_10); + if (unlikely(PyDict_SetItem(__pyx_v_rlendict, __pyx_v_qname, __pyx_t_10) < 0)) __PYX_ERR(0, 78, __pyx_L10_except_error) + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; goto __pyx_L9_exception_handled; } goto __pyx_L10_except_error; __pyx_L10_except_error:; - /* "nanovar/nv_bam_parser.pyx":71 + /* "nanovar/nv_bam_parser.pyx":72 * adv, qseg, sseg, del_list, ins_list = read_cigar(cigar_tup, minlen, splitpct, rstart, rend, readlen) * if flag in (0, 16): * try: # <<<<<<<<<<<<<< @@ -3072,7 +3113,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj __pyx_L15_try_end:; } - /* "nanovar/nv_bam_parser.pyx":70 + /* "nanovar/nv_bam_parser.pyx":71 * cigar_tup = seg.cigartuples * adv, qseg, sseg, del_list, ins_list = read_cigar(cigar_tup, minlen, splitpct, rstart, rend, readlen) * if flag in (0, 16): # <<<<<<<<<<<<<< @@ -3083,7 +3124,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj default: break; } - /* "nanovar/nv_bam_parser.pyx":78 + /* "nanovar/nv_bam_parser.pyx":79 * fasta.write('>' + qname + '\n' + seg.query_sequence + '\n') * rlendict[qname] = readlen * try: # <<<<<<<<<<<<<< @@ -3099,40 +3140,40 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj __Pyx_XGOTREF(__pyx_t_16); /*try:*/ { - /* "nanovar/nv_bam_parser.pyx":79 + /* "nanovar/nv_bam_parser.pyx":80 * rlendict[qname] = readlen * try: * main_dict[qname].append((adv, qname, rname, rstart, rend, readlen, qlen, flag, nm, total_score, qseg, sseg, del_list, # <<<<<<<<<<<<<< * ins_list)) * except KeyError: */ - __pyx_t_10 = __Pyx_PyDict_GetItem(__pyx_v_main_dict, __pyx_v_qname); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 79, __pyx_L19_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_13 = __Pyx_PyBool_FromLong(__pyx_v_adv); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 79, __pyx_L19_error) + __pyx_t_11 = __Pyx_PyDict_GetItem(__pyx_v_main_dict, __pyx_v_qname); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 80, __pyx_L19_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_13 = __Pyx_PyBool_FromLong(__pyx_v_adv); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 80, __pyx_L19_error) __Pyx_GOTREF(__pyx_t_13); - __pyx_t_5 = __Pyx_PyInt_From_unsigned_int(__pyx_v_rstart); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 79, __pyx_L19_error) + __pyx_t_5 = __Pyx_PyInt_From_unsigned_int(__pyx_v_rstart); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 80, __pyx_L19_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_11 = __Pyx_PyInt_From_unsigned_int(__pyx_v_rend); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 79, __pyx_L19_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_3 = __Pyx_PyInt_From_unsigned_int(__pyx_v_readlen); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 79, __pyx_L19_error) + __pyx_t_10 = __Pyx_PyInt_From_unsigned_int(__pyx_v_rend); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 80, __pyx_L19_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_3 = __Pyx_PyInt_From_unsigned_int(__pyx_v_readlen); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 80, __pyx_L19_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyInt_From_unsigned_int(__pyx_v_qlen); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 79, __pyx_L19_error) + __pyx_t_2 = __Pyx_PyInt_From_unsigned_int(__pyx_v_qlen); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 80, __pyx_L19_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_19 = __Pyx_PyInt_From_unsigned_int(__pyx_v_flag); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 79, __pyx_L19_error) + __pyx_t_19 = __Pyx_PyInt_From_unsigned_int(__pyx_v_flag); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 80, __pyx_L19_error) __Pyx_GOTREF(__pyx_t_19); - __pyx_t_14 = __Pyx_PyInt_From_unsigned_int(__pyx_v_nm); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 79, __pyx_L19_error) + __pyx_t_14 = __Pyx_PyInt_From_unsigned_int(__pyx_v_nm); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 80, __pyx_L19_error) __Pyx_GOTREF(__pyx_t_14); - __pyx_t_20 = __Pyx_PyInt_From_int(__pyx_v_total_score); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 79, __pyx_L19_error) + __pyx_t_20 = __Pyx_PyInt_From_int(__pyx_v_total_score); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 80, __pyx_L19_error) __Pyx_GOTREF(__pyx_t_20); - /* "nanovar/nv_bam_parser.pyx":80 + /* "nanovar/nv_bam_parser.pyx":81 * try: * main_dict[qname].append((adv, qname, rname, rstart, rend, readlen, qlen, flag, nm, total_score, qseg, sseg, del_list, * ins_list)) # <<<<<<<<<<<<<< * except KeyError: * main_dict[qname] = [] */ - __pyx_t_21 = PyTuple_New(14); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 79, __pyx_L19_error) + __pyx_t_21 = PyTuple_New(14); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 80, __pyx_L19_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_21, 0, __pyx_t_13); @@ -3144,8 +3185,8 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj PyTuple_SET_ITEM(__pyx_t_21, 2, __pyx_v_rname); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_21, 3, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_21, 4, __pyx_t_11); + __Pyx_GIVEREF(__pyx_t_10); + PyTuple_SET_ITEM(__pyx_t_21, 4, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_21, 5, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_2); @@ -3170,25 +3211,25 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj PyTuple_SET_ITEM(__pyx_t_21, 13, __pyx_v_ins_list); __pyx_t_13 = 0; __pyx_t_5 = 0; - __pyx_t_11 = 0; + __pyx_t_10 = 0; __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_19 = 0; __pyx_t_14 = 0; __pyx_t_20 = 0; - /* "nanovar/nv_bam_parser.pyx":79 + /* "nanovar/nv_bam_parser.pyx":80 * rlendict[qname] = readlen * try: * main_dict[qname].append((adv, qname, rname, rstart, rend, readlen, qlen, flag, nm, total_score, qseg, sseg, del_list, # <<<<<<<<<<<<<< * ins_list)) * except KeyError: */ - __pyx_t_22 = __Pyx_PyObject_Append(__pyx_t_10, __pyx_t_21); if (unlikely(__pyx_t_22 == ((int)-1))) __PYX_ERR(0, 79, __pyx_L19_error) - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_22 = __Pyx_PyObject_Append(__pyx_t_11, __pyx_t_21); if (unlikely(__pyx_t_22 == ((int)-1))) __PYX_ERR(0, 80, __pyx_L19_error) + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - /* "nanovar/nv_bam_parser.pyx":78 + /* "nanovar/nv_bam_parser.pyx":79 * fasta.write('>' + qname + '\n' + seg.query_sequence + '\n') * rlendict[qname] = readlen * try: # <<<<<<<<<<<<<< @@ -3212,7 +3253,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "nanovar/nv_bam_parser.pyx":81 + /* "nanovar/nv_bam_parser.pyx":82 * main_dict[qname].append((adv, qname, rname, rstart, rend, readlen, qlen, flag, nm, total_score, qseg, sseg, del_list, * ins_list)) * except KeyError: # <<<<<<<<<<<<<< @@ -3222,57 +3263,57 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_KeyError); if (__pyx_t_4) { __Pyx_AddTraceback("nanovar.nv_bam_parser.bam_parse", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_21, &__pyx_t_10, &__pyx_t_20) < 0) __PYX_ERR(0, 81, __pyx_L21_except_error) + if (__Pyx_GetException(&__pyx_t_21, &__pyx_t_11, &__pyx_t_20) < 0) __PYX_ERR(0, 82, __pyx_L21_except_error) __Pyx_GOTREF(__pyx_t_21); - __Pyx_GOTREF(__pyx_t_10); + __Pyx_GOTREF(__pyx_t_11); __Pyx_GOTREF(__pyx_t_20); - /* "nanovar/nv_bam_parser.pyx":82 + /* "nanovar/nv_bam_parser.pyx":83 * ins_list)) * except KeyError: * main_dict[qname] = [] # <<<<<<<<<<<<<< * main_dict[qname].append((adv, qname, rname, rstart, rend, readlen, qlen, flag, nm, total_score, qseg, sseg, del_list, * ins_list)) */ - __pyx_t_14 = PyList_New(0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 82, __pyx_L21_except_error) + __pyx_t_14 = PyList_New(0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 83, __pyx_L21_except_error) __Pyx_GOTREF(__pyx_t_14); - if (unlikely(PyDict_SetItem(__pyx_v_main_dict, __pyx_v_qname, __pyx_t_14) < 0)) __PYX_ERR(0, 82, __pyx_L21_except_error) + if (unlikely(PyDict_SetItem(__pyx_v_main_dict, __pyx_v_qname, __pyx_t_14) < 0)) __PYX_ERR(0, 83, __pyx_L21_except_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - /* "nanovar/nv_bam_parser.pyx":83 + /* "nanovar/nv_bam_parser.pyx":84 * except KeyError: * main_dict[qname] = [] * main_dict[qname].append((adv, qname, rname, rstart, rend, readlen, qlen, flag, nm, total_score, qseg, sseg, del_list, # <<<<<<<<<<<<<< * ins_list)) * fasta.close() */ - __pyx_t_14 = __Pyx_PyDict_GetItem(__pyx_v_main_dict, __pyx_v_qname); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 83, __pyx_L21_except_error) + __pyx_t_14 = __Pyx_PyDict_GetItem(__pyx_v_main_dict, __pyx_v_qname); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 84, __pyx_L21_except_error) __Pyx_GOTREF(__pyx_t_14); - __pyx_t_19 = __Pyx_PyBool_FromLong(__pyx_v_adv); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 83, __pyx_L21_except_error) + __pyx_t_19 = __Pyx_PyBool_FromLong(__pyx_v_adv); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 84, __pyx_L21_except_error) __Pyx_GOTREF(__pyx_t_19); - __pyx_t_2 = __Pyx_PyInt_From_unsigned_int(__pyx_v_rstart); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 83, __pyx_L21_except_error) + __pyx_t_2 = __Pyx_PyInt_From_unsigned_int(__pyx_v_rstart); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 84, __pyx_L21_except_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyInt_From_unsigned_int(__pyx_v_rend); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 83, __pyx_L21_except_error) + __pyx_t_3 = __Pyx_PyInt_From_unsigned_int(__pyx_v_rend); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 84, __pyx_L21_except_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_11 = __Pyx_PyInt_From_unsigned_int(__pyx_v_readlen); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 83, __pyx_L21_except_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_5 = __Pyx_PyInt_From_unsigned_int(__pyx_v_qlen); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 83, __pyx_L21_except_error) + __pyx_t_10 = __Pyx_PyInt_From_unsigned_int(__pyx_v_readlen); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 84, __pyx_L21_except_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_5 = __Pyx_PyInt_From_unsigned_int(__pyx_v_qlen); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 84, __pyx_L21_except_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_13 = __Pyx_PyInt_From_unsigned_int(__pyx_v_flag); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 83, __pyx_L21_except_error) + __pyx_t_13 = __Pyx_PyInt_From_unsigned_int(__pyx_v_flag); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 84, __pyx_L21_except_error) __Pyx_GOTREF(__pyx_t_13); - __pyx_t_23 = __Pyx_PyInt_From_unsigned_int(__pyx_v_nm); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 83, __pyx_L21_except_error) + __pyx_t_23 = __Pyx_PyInt_From_unsigned_int(__pyx_v_nm); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 84, __pyx_L21_except_error) __Pyx_GOTREF(__pyx_t_23); - __pyx_t_24 = __Pyx_PyInt_From_int(__pyx_v_total_score); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 83, __pyx_L21_except_error) + __pyx_t_24 = __Pyx_PyInt_From_int(__pyx_v_total_score); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 84, __pyx_L21_except_error) __Pyx_GOTREF(__pyx_t_24); - /* "nanovar/nv_bam_parser.pyx":84 + /* "nanovar/nv_bam_parser.pyx":85 * main_dict[qname] = [] * main_dict[qname].append((adv, qname, rname, rstart, rend, readlen, qlen, flag, nm, total_score, qseg, sseg, del_list, * ins_list)) # <<<<<<<<<<<<<< * fasta.close() * fasta2.close() */ - __pyx_t_25 = PyTuple_New(14); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 83, __pyx_L21_except_error) + __pyx_t_25 = PyTuple_New(14); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 84, __pyx_L21_except_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_GIVEREF(__pyx_t_19); PyTuple_SET_ITEM(__pyx_t_25, 0, __pyx_t_19); @@ -3286,8 +3327,8 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj PyTuple_SET_ITEM(__pyx_t_25, 3, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_25, 4, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_25, 5, __pyx_t_11); + __Pyx_GIVEREF(__pyx_t_10); + PyTuple_SET_ITEM(__pyx_t_25, 5, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_25, 6, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_13); @@ -3311,31 +3352,31 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj __pyx_t_19 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; - __pyx_t_11 = 0; + __pyx_t_10 = 0; __pyx_t_5 = 0; __pyx_t_13 = 0; __pyx_t_23 = 0; __pyx_t_24 = 0; - /* "nanovar/nv_bam_parser.pyx":83 + /* "nanovar/nv_bam_parser.pyx":84 * except KeyError: * main_dict[qname] = [] * main_dict[qname].append((adv, qname, rname, rstart, rend, readlen, qlen, flag, nm, total_score, qseg, sseg, del_list, # <<<<<<<<<<<<<< * ins_list)) * fasta.close() */ - __pyx_t_22 = __Pyx_PyObject_Append(__pyx_t_14, __pyx_t_25); if (unlikely(__pyx_t_22 == ((int)-1))) __PYX_ERR(0, 83, __pyx_L21_except_error) + __pyx_t_22 = __Pyx_PyObject_Append(__pyx_t_14, __pyx_t_25); if (unlikely(__pyx_t_22 == ((int)-1))) __PYX_ERR(0, 84, __pyx_L21_except_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; goto __pyx_L20_exception_handled; } goto __pyx_L21_except_error; __pyx_L21_except_error:; - /* "nanovar/nv_bam_parser.pyx":78 + /* "nanovar/nv_bam_parser.pyx":79 * fasta.write('>' + qname + '\n' + seg.query_sequence + '\n') * rlendict[qname] = readlen * try: # <<<<<<<<<<<<<< @@ -3366,102 +3407,102 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "nanovar/nv_bam_parser.pyx":85 + /* "nanovar/nv_bam_parser.pyx":86 * main_dict[qname].append((adv, qname, rname, rstart, rend, readlen, qlen, flag, nm, total_score, qseg, sseg, del_list, * ins_list)) * fasta.close() # <<<<<<<<<<<<<< * fasta2.close() * total_subdata, total_lines, contig_collect, total_out, detect_out = [], [], [], [], [] */ - __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_fasta, __pyx_n_s_close); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 85, __pyx_L1_error) + __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_fasta, __pyx_n_s_close); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 86, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); - __pyx_t_10 = NULL; + __pyx_t_11 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_20))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_20); - if (likely(__pyx_t_10)) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_20); + if (likely(__pyx_t_11)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_20); - __Pyx_INCREF(__pyx_t_10); + __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_20, function); } } - __pyx_t_1 = (__pyx_t_10) ? __Pyx_PyObject_CallOneArg(__pyx_t_20, __pyx_t_10) : __Pyx_PyObject_CallNoArg(__pyx_t_20); - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 85, __pyx_L1_error) + __pyx_t_1 = (__pyx_t_11) ? __Pyx_PyObject_CallOneArg(__pyx_t_20, __pyx_t_11) : __Pyx_PyObject_CallNoArg(__pyx_t_20); + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 86, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "nanovar/nv_bam_parser.pyx":86 + /* "nanovar/nv_bam_parser.pyx":87 * ins_list)) * fasta.close() * fasta2.close() # <<<<<<<<<<<<<< * total_subdata, total_lines, contig_collect, total_out, detect_out = [], [], [], [], [] * # Make gap dictionary */ - __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_fasta2, __pyx_n_s_close); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 86, __pyx_L1_error) + __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_fasta2, __pyx_n_s_close); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 87, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); - __pyx_t_10 = NULL; + __pyx_t_11 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_20))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_20); - if (likely(__pyx_t_10)) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_20); + if (likely(__pyx_t_11)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_20); - __Pyx_INCREF(__pyx_t_10); + __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_20, function); } } - __pyx_t_1 = (__pyx_t_10) ? __Pyx_PyObject_CallOneArg(__pyx_t_20, __pyx_t_10) : __Pyx_PyObject_CallNoArg(__pyx_t_20); - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 86, __pyx_L1_error) + __pyx_t_1 = (__pyx_t_11) ? __Pyx_PyObject_CallOneArg(__pyx_t_20, __pyx_t_11) : __Pyx_PyObject_CallNoArg(__pyx_t_20); + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 87, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "nanovar/nv_bam_parser.pyx":87 + /* "nanovar/nv_bam_parser.pyx":88 * fasta.close() * fasta2.close() * total_subdata, total_lines, contig_collect, total_out, detect_out = [], [], [], [], [] # <<<<<<<<<<<<<< * # Make gap dictionary * gapdict = makegapdict(filter_file, contig_omit) */ - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 87, __pyx_L1_error) + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 88, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_20 = PyList_New(0); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 87, __pyx_L1_error) + __pyx_t_20 = PyList_New(0); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 88, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); - __pyx_t_10 = PyList_New(0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 87, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_21 = PyList_New(0); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 87, __pyx_L1_error) + __pyx_t_11 = PyList_New(0); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 88, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_21 = PyList_New(0); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 88, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); - __pyx_t_25 = PyList_New(0); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 87, __pyx_L1_error) + __pyx_t_25 = PyList_New(0); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 88, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_v_total_subdata = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; __pyx_v_total_lines = ((PyObject*)__pyx_t_20); __pyx_t_20 = 0; - __pyx_v_contig_collect = ((PyObject*)__pyx_t_10); - __pyx_t_10 = 0; + __pyx_v_contig_collect = ((PyObject*)__pyx_t_11); + __pyx_t_11 = 0; __pyx_v_total_out = ((PyObject*)__pyx_t_21); __pyx_t_21 = 0; __pyx_v_detect_out = ((PyObject*)__pyx_t_25); __pyx_t_25 = 0; - /* "nanovar/nv_bam_parser.pyx":89 + /* "nanovar/nv_bam_parser.pyx":90 * total_subdata, total_lines, contig_collect, total_out, detect_out = [], [], [], [], [] * # Make gap dictionary * gapdict = makegapdict(filter_file, contig_omit) # <<<<<<<<<<<<<< * for qname in main_dict: * if len(main_dict[qname]) == 1: # Single alignment read */ - __Pyx_GetModuleGlobalName(__pyx_t_21, __pyx_n_s_makegapdict); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 89, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_21, __pyx_n_s_makegapdict); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 90, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); - __pyx_t_10 = NULL; + __pyx_t_11 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_21))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_21); - if (likely(__pyx_t_10)) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_21); + if (likely(__pyx_t_11)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_21); - __Pyx_INCREF(__pyx_t_10); + __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_21, function); __pyx_t_4 = 1; @@ -3469,25 +3510,25 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_21)) { - PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_v_filter_file, __pyx_v_contig_omit}; - __pyx_t_25 = __Pyx_PyFunction_FastCall(__pyx_t_21, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 89, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + PyObject *__pyx_temp[3] = {__pyx_t_11, __pyx_v_filter_file, __pyx_v_contig_omit}; + __pyx_t_25 = __Pyx_PyFunction_FastCall(__pyx_t_21, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 90, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_GOTREF(__pyx_t_25); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_21)) { - PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_v_filter_file, __pyx_v_contig_omit}; - __pyx_t_25 = __Pyx_PyCFunction_FastCall(__pyx_t_21, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 89, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + PyObject *__pyx_temp[3] = {__pyx_t_11, __pyx_v_filter_file, __pyx_v_contig_omit}; + __pyx_t_25 = __Pyx_PyCFunction_FastCall(__pyx_t_21, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 90, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_GOTREF(__pyx_t_25); } else #endif { - __pyx_t_20 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 89, __pyx_L1_error) + __pyx_t_20 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 90, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); - if (__pyx_t_10) { - __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_t_10); __pyx_t_10 = NULL; + if (__pyx_t_11) { + __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_t_11); __pyx_t_11 = NULL; } __Pyx_INCREF(__pyx_v_filter_file); __Pyx_GIVEREF(__pyx_v_filter_file); @@ -3495,16 +3536,16 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj __Pyx_INCREF(__pyx_v_contig_omit); __Pyx_GIVEREF(__pyx_v_contig_omit); PyTuple_SET_ITEM(__pyx_t_20, 1+__pyx_t_4, __pyx_v_contig_omit); - __pyx_t_25 = __Pyx_PyObject_Call(__pyx_t_21, __pyx_t_20, NULL); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 89, __pyx_L1_error) + __pyx_t_25 = __Pyx_PyObject_Call(__pyx_t_21, __pyx_t_20, NULL); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 90, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; } __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - if (!(likely(PyDict_CheckExact(__pyx_t_25))||((__pyx_t_25) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_25)->tp_name), 0))) __PYX_ERR(0, 89, __pyx_L1_error) + if (!(likely(PyDict_CheckExact(__pyx_t_25))||((__pyx_t_25) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_25)->tp_name), 0))) __PYX_ERR(0, 90, __pyx_L1_error) __Pyx_DECREF_SET(__pyx_v_gapdict, ((PyObject*)__pyx_t_25)); __pyx_t_25 = 0; - /* "nanovar/nv_bam_parser.pyx":90 + /* "nanovar/nv_bam_parser.pyx":91 * # Make gap dictionary * gapdict = makegapdict(filter_file, contig_omit) * for qname in main_dict: # <<<<<<<<<<<<<< @@ -3512,7 +3553,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj * if not main_dict[qname][0][0]: # if no sub-segments and not clipped read */ __pyx_t_6 = 0; - __pyx_t_21 = __Pyx_dict_iterator(__pyx_v_main_dict, 1, ((PyObject *)NULL), (&__pyx_t_12), (&__pyx_t_4)); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 90, __pyx_L1_error) + __pyx_t_21 = __Pyx_dict_iterator(__pyx_v_main_dict, 1, ((PyObject *)NULL), (&__pyx_t_12), (&__pyx_t_4)); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 91, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = __pyx_t_21; @@ -3520,127 +3561,127 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj while (1) { __pyx_t_26 = __Pyx_dict_iter_next(__pyx_t_25, __pyx_t_12, &__pyx_t_6, &__pyx_t_21, NULL, NULL, __pyx_t_4); if (unlikely(__pyx_t_26 == 0)) break; - if (unlikely(__pyx_t_26 == -1)) __PYX_ERR(0, 90, __pyx_L1_error) + if (unlikely(__pyx_t_26 == -1)) __PYX_ERR(0, 91, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); - if (!(likely(PyString_CheckExact(__pyx_t_21))||((__pyx_t_21) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_21)->tp_name), 0))) __PYX_ERR(0, 90, __pyx_L1_error) + if (!(likely(PyString_CheckExact(__pyx_t_21))||((__pyx_t_21) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_21)->tp_name), 0))) __PYX_ERR(0, 91, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_qname, ((PyObject*)__pyx_t_21)); __pyx_t_21 = 0; - /* "nanovar/nv_bam_parser.pyx":91 + /* "nanovar/nv_bam_parser.pyx":92 * gapdict = makegapdict(filter_file, contig_omit) * for qname in main_dict: * if len(main_dict[qname]) == 1: # Single alignment read # <<<<<<<<<<<<<< * if not main_dict[qname][0][0]: # if no sub-segments and not clipped read * aln = main_dict[qname][0] */ - __pyx_t_21 = __Pyx_PyDict_GetItem(__pyx_v_main_dict, __pyx_v_qname); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 91, __pyx_L1_error) + __pyx_t_21 = __Pyx_PyDict_GetItem(__pyx_v_main_dict, __pyx_v_qname); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 92, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); - __pyx_t_27 = PyObject_Length(__pyx_t_21); if (unlikely(__pyx_t_27 == ((Py_ssize_t)-1))) __PYX_ERR(0, 91, __pyx_L1_error) + __pyx_t_27 = PyObject_Length(__pyx_t_21); if (unlikely(__pyx_t_27 == ((Py_ssize_t)-1))) __PYX_ERR(0, 92, __pyx_L1_error) __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_9 = ((__pyx_t_27 == 1) != 0); if (__pyx_t_9) { - /* "nanovar/nv_bam_parser.pyx":92 + /* "nanovar/nv_bam_parser.pyx":93 * for qname in main_dict: * if len(main_dict[qname]) == 1: # Single alignment read * if not main_dict[qname][0][0]: # if no sub-segments and not clipped read # <<<<<<<<<<<<<< * aln = main_dict[qname][0] * qname = aln[1] */ - __pyx_t_21 = __Pyx_PyDict_GetItem(__pyx_v_main_dict, __pyx_v_qname); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 92, __pyx_L1_error) + __pyx_t_21 = __Pyx_PyDict_GetItem(__pyx_v_main_dict, __pyx_v_qname); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 93, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); - __pyx_t_20 = __Pyx_GetItemInt(__pyx_t_21, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 92, __pyx_L1_error) + __pyx_t_20 = __Pyx_GetItemInt(__pyx_t_21, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 93, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - __pyx_t_21 = __Pyx_GetItemInt(__pyx_t_20, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 92, __pyx_L1_error) + __pyx_t_21 = __Pyx_GetItemInt(__pyx_t_20, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 93, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_21); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 92, __pyx_L1_error) + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_21); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 93, __pyx_L1_error) __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_28 = ((!__pyx_t_9) != 0); if (__pyx_t_28) { - /* "nanovar/nv_bam_parser.pyx":93 + /* "nanovar/nv_bam_parser.pyx":94 * if len(main_dict[qname]) == 1: # Single alignment read * if not main_dict[qname][0][0]: # if no sub-segments and not clipped read * aln = main_dict[qname][0] # <<<<<<<<<<<<<< * qname = aln[1] * rname = aln[2] */ - __pyx_t_21 = __Pyx_PyDict_GetItem(__pyx_v_main_dict, __pyx_v_qname); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 93, __pyx_L1_error) + __pyx_t_21 = __Pyx_PyDict_GetItem(__pyx_v_main_dict, __pyx_v_qname); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 94, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); - __pyx_t_20 = __Pyx_GetItemInt(__pyx_t_21, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 93, __pyx_L1_error) + __pyx_t_20 = __Pyx_GetItemInt(__pyx_t_21, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 94, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_XDECREF_SET(__pyx_v_aln, __pyx_t_20); __pyx_t_20 = 0; - /* "nanovar/nv_bam_parser.pyx":94 + /* "nanovar/nv_bam_parser.pyx":95 * if not main_dict[qname][0][0]: # if no sub-segments and not clipped read * aln = main_dict[qname][0] * qname = aln[1] # <<<<<<<<<<<<<< * rname = aln[2] * rstart = aln[3] */ - __pyx_t_20 = __Pyx_GetItemInt(__pyx_v_aln, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 94, __pyx_L1_error) + __pyx_t_20 = __Pyx_GetItemInt(__pyx_v_aln, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 95, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); - if (!(likely(PyString_CheckExact(__pyx_t_20))||((__pyx_t_20) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_20)->tp_name), 0))) __PYX_ERR(0, 94, __pyx_L1_error) + if (!(likely(PyString_CheckExact(__pyx_t_20))||((__pyx_t_20) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_20)->tp_name), 0))) __PYX_ERR(0, 95, __pyx_L1_error) __Pyx_DECREF_SET(__pyx_v_qname, ((PyObject*)__pyx_t_20)); __pyx_t_20 = 0; - /* "nanovar/nv_bam_parser.pyx":95 + /* "nanovar/nv_bam_parser.pyx":96 * aln = main_dict[qname][0] * qname = aln[1] * rname = aln[2] # <<<<<<<<<<<<<< * rstart = aln[3] * rend = aln[4] */ - __pyx_t_20 = __Pyx_GetItemInt(__pyx_v_aln, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 95, __pyx_L1_error) + __pyx_t_20 = __Pyx_GetItemInt(__pyx_v_aln, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 96, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); - if (!(likely(PyString_CheckExact(__pyx_t_20))||((__pyx_t_20) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_20)->tp_name), 0))) __PYX_ERR(0, 95, __pyx_L1_error) + if (!(likely(PyString_CheckExact(__pyx_t_20))||((__pyx_t_20) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_20)->tp_name), 0))) __PYX_ERR(0, 96, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_rname, ((PyObject*)__pyx_t_20)); __pyx_t_20 = 0; - /* "nanovar/nv_bam_parser.pyx":96 + /* "nanovar/nv_bam_parser.pyx":97 * qname = aln[1] * rname = aln[2] * rstart = aln[3] # <<<<<<<<<<<<<< * rend = aln[4] * total_subdata.append(info_parse_simple(qname, rname, rstart, rend, minalign)) */ - __pyx_t_20 = __Pyx_GetItemInt(__pyx_v_aln, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 96, __pyx_L1_error) + __pyx_t_20 = __Pyx_GetItemInt(__pyx_v_aln, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 97, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); - __pyx_t_8 = __Pyx_PyInt_As_unsigned_int(__pyx_t_20); if (unlikely((__pyx_t_8 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 96, __pyx_L1_error) + __pyx_t_8 = __Pyx_PyInt_As_unsigned_int(__pyx_t_20); if (unlikely((__pyx_t_8 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L1_error) __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __pyx_v_rstart = __pyx_t_8; - /* "nanovar/nv_bam_parser.pyx":97 + /* "nanovar/nv_bam_parser.pyx":98 * rname = aln[2] * rstart = aln[3] * rend = aln[4] # <<<<<<<<<<<<<< * total_subdata.append(info_parse_simple(qname, rname, rstart, rend, minalign)) * # Add to base coverage */ - __pyx_t_20 = __Pyx_GetItemInt(__pyx_v_aln, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 97, __pyx_L1_error) + __pyx_t_20 = __Pyx_GetItemInt(__pyx_v_aln, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 98, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); - __pyx_t_8 = __Pyx_PyInt_As_unsigned_int(__pyx_t_20); if (unlikely((__pyx_t_8 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L1_error) + __pyx_t_8 = __Pyx_PyInt_As_unsigned_int(__pyx_t_20); if (unlikely((__pyx_t_8 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 98, __pyx_L1_error) __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __pyx_v_rend = __pyx_t_8; - /* "nanovar/nv_bam_parser.pyx":98 + /* "nanovar/nv_bam_parser.pyx":99 * rstart = aln[3] * rend = aln[4] * total_subdata.append(info_parse_simple(qname, rname, rstart, rend, minalign)) # <<<<<<<<<<<<<< * # Add to base coverage * basecov += rend - rstart */ - __Pyx_GetModuleGlobalName(__pyx_t_21, __pyx_n_s_info_parse_simple); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_21, __pyx_n_s_info_parse_simple); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 99, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); - __pyx_t_10 = __Pyx_PyInt_From_unsigned_int(__pyx_v_rstart); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 98, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_1 = __Pyx_PyInt_From_unsigned_int(__pyx_v_rend); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 98, __pyx_L1_error) + __pyx_t_11 = __Pyx_PyInt_From_unsigned_int(__pyx_v_rstart); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 99, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_1 = __Pyx_PyInt_From_unsigned_int(__pyx_v_rend); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 99, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_14 = __Pyx_PyInt_From_unsigned_int(__pyx_v_minalign); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 98, __pyx_L1_error) + __pyx_t_14 = __Pyx_PyInt_From_unsigned_int(__pyx_v_minalign); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 99, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_24 = NULL; __pyx_t_26 = 0; @@ -3656,28 +3697,28 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_21)) { - PyObject *__pyx_temp[6] = {__pyx_t_24, __pyx_v_qname, __pyx_v_rname, __pyx_t_10, __pyx_t_1, __pyx_t_14}; - __pyx_t_20 = __Pyx_PyFunction_FastCall(__pyx_t_21, __pyx_temp+1-__pyx_t_26, 5+__pyx_t_26); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 98, __pyx_L1_error) + PyObject *__pyx_temp[6] = {__pyx_t_24, __pyx_v_qname, __pyx_v_rname, __pyx_t_11, __pyx_t_1, __pyx_t_14}; + __pyx_t_20 = __Pyx_PyFunction_FastCall(__pyx_t_21, __pyx_temp+1-__pyx_t_26, 5+__pyx_t_26); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 99, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_GOTREF(__pyx_t_20); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_21)) { - PyObject *__pyx_temp[6] = {__pyx_t_24, __pyx_v_qname, __pyx_v_rname, __pyx_t_10, __pyx_t_1, __pyx_t_14}; - __pyx_t_20 = __Pyx_PyCFunction_FastCall(__pyx_t_21, __pyx_temp+1-__pyx_t_26, 5+__pyx_t_26); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 98, __pyx_L1_error) + PyObject *__pyx_temp[6] = {__pyx_t_24, __pyx_v_qname, __pyx_v_rname, __pyx_t_11, __pyx_t_1, __pyx_t_14}; + __pyx_t_20 = __Pyx_PyCFunction_FastCall(__pyx_t_21, __pyx_temp+1-__pyx_t_26, 5+__pyx_t_26); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 99, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_GOTREF(__pyx_t_20); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } else #endif { - __pyx_t_23 = PyTuple_New(5+__pyx_t_26); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 98, __pyx_L1_error) + __pyx_t_23 = PyTuple_New(5+__pyx_t_26); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 99, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); if (__pyx_t_24) { __Pyx_GIVEREF(__pyx_t_24); PyTuple_SET_ITEM(__pyx_t_23, 0, __pyx_t_24); __pyx_t_24 = NULL; @@ -3688,24 +3729,24 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj __Pyx_INCREF(__pyx_v_rname); __Pyx_GIVEREF(__pyx_v_rname); PyTuple_SET_ITEM(__pyx_t_23, 1+__pyx_t_26, __pyx_v_rname); - __Pyx_GIVEREF(__pyx_t_10); - PyTuple_SET_ITEM(__pyx_t_23, 2+__pyx_t_26, __pyx_t_10); + __Pyx_GIVEREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_23, 2+__pyx_t_26, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_23, 3+__pyx_t_26, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_23, 4+__pyx_t_26, __pyx_t_14); - __pyx_t_10 = 0; + __pyx_t_11 = 0; __pyx_t_1 = 0; __pyx_t_14 = 0; - __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_21, __pyx_t_23, NULL); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 98, __pyx_L1_error) + __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_21, __pyx_t_23, NULL); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 99, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; } __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - __pyx_t_22 = __Pyx_PyList_Append(__pyx_v_total_subdata, __pyx_t_20); if (unlikely(__pyx_t_22 == ((int)-1))) __PYX_ERR(0, 98, __pyx_L1_error) + __pyx_t_22 = __Pyx_PyList_Append(__pyx_v_total_subdata, __pyx_t_20); if (unlikely(__pyx_t_22 == ((int)-1))) __PYX_ERR(0, 99, __pyx_L1_error) __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - /* "nanovar/nv_bam_parser.pyx":100 + /* "nanovar/nv_bam_parser.pyx":101 * total_subdata.append(info_parse_simple(qname, rname, rstart, rend, minalign)) * # Add to base coverage * basecov += rend - rstart # <<<<<<<<<<<<<< @@ -3714,7 +3755,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj */ __pyx_v_basecov = (__pyx_v_basecov + (__pyx_v_rend - __pyx_v_rstart)); - /* "nanovar/nv_bam_parser.pyx":92 + /* "nanovar/nv_bam_parser.pyx":93 * for qname in main_dict: * if len(main_dict[qname]) == 1: # Single alignment read * if not main_dict[qname][0][0]: # if no sub-segments and not clipped read # <<<<<<<<<<<<<< @@ -3724,7 +3765,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj goto __pyx_L32; } - /* "nanovar/nv_bam_parser.pyx":102 + /* "nanovar/nv_bam_parser.pyx":103 * basecov += rend - rstart * else: # if multiple sub-segments or clipped read * seed += 1 # <<<<<<<<<<<<<< @@ -3734,192 +3775,192 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj /*else*/ { __pyx_v_seed = (__pyx_v_seed + 1); - /* "nanovar/nv_bam_parser.pyx":103 + /* "nanovar/nv_bam_parser.pyx":104 * else: # if multiple sub-segments or clipped read * seed += 1 * aln = main_dict[qname][0] # <<<<<<<<<<<<<< * qname = aln[1] * rname = aln[2] */ - __pyx_t_20 = __Pyx_PyDict_GetItem(__pyx_v_main_dict, __pyx_v_qname); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 103, __pyx_L1_error) + __pyx_t_20 = __Pyx_PyDict_GetItem(__pyx_v_main_dict, __pyx_v_qname); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 104, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); - __pyx_t_21 = __Pyx_GetItemInt(__pyx_t_20, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 103, __pyx_L1_error) + __pyx_t_21 = __Pyx_GetItemInt(__pyx_t_20, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 104, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_XDECREF_SET(__pyx_v_aln, __pyx_t_21); __pyx_t_21 = 0; - /* "nanovar/nv_bam_parser.pyx":104 + /* "nanovar/nv_bam_parser.pyx":105 * seed += 1 * aln = main_dict[qname][0] * qname = aln[1] # <<<<<<<<<<<<<< * rname = aln[2] * readlen = aln[5] */ - __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_aln, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 104, __pyx_L1_error) + __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_aln, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 105, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); - if (!(likely(PyString_CheckExact(__pyx_t_21))||((__pyx_t_21) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_21)->tp_name), 0))) __PYX_ERR(0, 104, __pyx_L1_error) + if (!(likely(PyString_CheckExact(__pyx_t_21))||((__pyx_t_21) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_21)->tp_name), 0))) __PYX_ERR(0, 105, __pyx_L1_error) __Pyx_DECREF_SET(__pyx_v_qname, ((PyObject*)__pyx_t_21)); __pyx_t_21 = 0; - /* "nanovar/nv_bam_parser.pyx":105 + /* "nanovar/nv_bam_parser.pyx":106 * aln = main_dict[qname][0] * qname = aln[1] * rname = aln[2] # <<<<<<<<<<<<<< * readlen = aln[5] * qlen = aln[6] */ - __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_aln, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 105, __pyx_L1_error) + __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_aln, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 106, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); - if (!(likely(PyString_CheckExact(__pyx_t_21))||((__pyx_t_21) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_21)->tp_name), 0))) __PYX_ERR(0, 105, __pyx_L1_error) + if (!(likely(PyString_CheckExact(__pyx_t_21))||((__pyx_t_21) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_21)->tp_name), 0))) __PYX_ERR(0, 106, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_rname, ((PyObject*)__pyx_t_21)); __pyx_t_21 = 0; - /* "nanovar/nv_bam_parser.pyx":106 + /* "nanovar/nv_bam_parser.pyx":107 * qname = aln[1] * rname = aln[2] * readlen = aln[5] # <<<<<<<<<<<<<< * qlen = aln[6] * flag = aln[7] */ - __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_aln, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 106, __pyx_L1_error) + __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_aln, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 107, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); - __pyx_t_8 = __Pyx_PyInt_As_unsigned_int(__pyx_t_21); if (unlikely((__pyx_t_8 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 106, __pyx_L1_error) + __pyx_t_8 = __Pyx_PyInt_As_unsigned_int(__pyx_t_21); if (unlikely((__pyx_t_8 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 107, __pyx_L1_error) __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_v_readlen = __pyx_t_8; - /* "nanovar/nv_bam_parser.pyx":107 + /* "nanovar/nv_bam_parser.pyx":108 * rname = aln[2] * readlen = aln[5] * qlen = aln[6] # <<<<<<<<<<<<<< * flag = aln[7] * nm = aln[8] */ - __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_aln, 6, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 107, __pyx_L1_error) + __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_aln, 6, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); - __pyx_t_8 = __Pyx_PyInt_As_unsigned_int(__pyx_t_21); if (unlikely((__pyx_t_8 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 107, __pyx_L1_error) + __pyx_t_8 = __Pyx_PyInt_As_unsigned_int(__pyx_t_21); if (unlikely((__pyx_t_8 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 108, __pyx_L1_error) __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_v_qlen = __pyx_t_8; - /* "nanovar/nv_bam_parser.pyx":108 + /* "nanovar/nv_bam_parser.pyx":109 * readlen = aln[5] * qlen = aln[6] * flag = aln[7] # <<<<<<<<<<<<<< * nm = aln[8] * total_score = aln[9] */ - __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_aln, 7, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 108, __pyx_L1_error) + __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_aln, 7, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 109, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); - __pyx_t_8 = __Pyx_PyInt_As_unsigned_int(__pyx_t_21); if (unlikely((__pyx_t_8 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 108, __pyx_L1_error) + __pyx_t_8 = __Pyx_PyInt_As_unsigned_int(__pyx_t_21); if (unlikely((__pyx_t_8 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 109, __pyx_L1_error) __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_v_flag = __pyx_t_8; - /* "nanovar/nv_bam_parser.pyx":109 + /* "nanovar/nv_bam_parser.pyx":110 * qlen = aln[6] * flag = aln[7] * nm = aln[8] # <<<<<<<<<<<<<< * total_score = aln[9] * qseg = aln[10] */ - __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_aln, 8, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 109, __pyx_L1_error) + __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_aln, 8, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); - __pyx_t_8 = __Pyx_PyInt_As_unsigned_int(__pyx_t_21); if (unlikely((__pyx_t_8 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 109, __pyx_L1_error) + __pyx_t_8 = __Pyx_PyInt_As_unsigned_int(__pyx_t_21); if (unlikely((__pyx_t_8 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 110, __pyx_L1_error) __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_v_nm = __pyx_t_8; - /* "nanovar/nv_bam_parser.pyx":110 + /* "nanovar/nv_bam_parser.pyx":111 * flag = aln[7] * nm = aln[8] * total_score = aln[9] # <<<<<<<<<<<<<< * qseg = aln[10] * sseg = aln[11] */ - __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_aln, 9, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 110, __pyx_L1_error) + __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_aln, 9, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 111, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); - __pyx_t_26 = __Pyx_PyInt_As_int(__pyx_t_21); if (unlikely((__pyx_t_26 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 110, __pyx_L1_error) + __pyx_t_26 = __Pyx_PyInt_As_int(__pyx_t_21); if (unlikely((__pyx_t_26 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 111, __pyx_L1_error) __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_v_total_score = __pyx_t_26; - /* "nanovar/nv_bam_parser.pyx":111 + /* "nanovar/nv_bam_parser.pyx":112 * nm = aln[8] * total_score = aln[9] * qseg = aln[10] # <<<<<<<<<<<<<< * sseg = aln[11] * del_list = aln[12] */ - __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_aln, 10, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 111, __pyx_L1_error) + __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_aln, 10, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); - if (!(likely(PyList_CheckExact(__pyx_t_21))||((__pyx_t_21) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_21)->tp_name), 0))) __PYX_ERR(0, 111, __pyx_L1_error) + if (!(likely(PyList_CheckExact(__pyx_t_21))||((__pyx_t_21) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_21)->tp_name), 0))) __PYX_ERR(0, 112, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_qseg, ((PyObject*)__pyx_t_21)); __pyx_t_21 = 0; - /* "nanovar/nv_bam_parser.pyx":112 + /* "nanovar/nv_bam_parser.pyx":113 * total_score = aln[9] * qseg = aln[10] * sseg = aln[11] # <<<<<<<<<<<<<< * del_list = aln[12] * ins_list = aln[13] */ - __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_aln, 11, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 112, __pyx_L1_error) + __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_aln, 11, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); - if (!(likely(PyList_CheckExact(__pyx_t_21))||((__pyx_t_21) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_21)->tp_name), 0))) __PYX_ERR(0, 112, __pyx_L1_error) + if (!(likely(PyList_CheckExact(__pyx_t_21))||((__pyx_t_21) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_21)->tp_name), 0))) __PYX_ERR(0, 113, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_sseg, ((PyObject*)__pyx_t_21)); __pyx_t_21 = 0; - /* "nanovar/nv_bam_parser.pyx":113 + /* "nanovar/nv_bam_parser.pyx":114 * qseg = aln[10] * sseg = aln[11] * del_list = aln[12] # <<<<<<<<<<<<<< * ins_list = aln[13] * total_lines, contig_collect = info_parse(qname, rname, readlen, qlen, flag, nm, total_score, qseg, sseg, */ - __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_aln, 12, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 113, __pyx_L1_error) + __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_aln, 12, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 114, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); - if (!(likely(PyList_CheckExact(__pyx_t_21))||((__pyx_t_21) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_21)->tp_name), 0))) __PYX_ERR(0, 113, __pyx_L1_error) + if (!(likely(PyList_CheckExact(__pyx_t_21))||((__pyx_t_21) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_21)->tp_name), 0))) __PYX_ERR(0, 114, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_del_list, ((PyObject*)__pyx_t_21)); __pyx_t_21 = 0; - /* "nanovar/nv_bam_parser.pyx":114 + /* "nanovar/nv_bam_parser.pyx":115 * sseg = aln[11] * del_list = aln[12] * ins_list = aln[13] # <<<<<<<<<<<<<< * total_lines, contig_collect = info_parse(qname, rname, readlen, qlen, flag, nm, total_score, qseg, sseg, * del_list, ins_list, minalign) */ - __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_aln, 13, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 114, __pyx_L1_error) + __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_aln, 13, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 115, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); - if (!(likely(PyList_CheckExact(__pyx_t_21))||((__pyx_t_21) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_21)->tp_name), 0))) __PYX_ERR(0, 114, __pyx_L1_error) + if (!(likely(PyList_CheckExact(__pyx_t_21))||((__pyx_t_21) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_21)->tp_name), 0))) __PYX_ERR(0, 115, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_ins_list, ((PyObject*)__pyx_t_21)); __pyx_t_21 = 0; - /* "nanovar/nv_bam_parser.pyx":115 + /* "nanovar/nv_bam_parser.pyx":116 * del_list = aln[12] * ins_list = aln[13] * total_lines, contig_collect = info_parse(qname, rname, readlen, qlen, flag, nm, total_score, qseg, sseg, # <<<<<<<<<<<<<< * del_list, ins_list, minalign) * lines_sort = sorted(sorted(total_lines, key=lambda x: x[1], reverse=True), key=lambda y: y[0]) */ - __Pyx_GetModuleGlobalName(__pyx_t_20, __pyx_n_s_info_parse); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 115, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_20, __pyx_n_s_info_parse); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); - __pyx_t_23 = __Pyx_PyInt_From_unsigned_int(__pyx_v_readlen); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 115, __pyx_L1_error) + __pyx_t_23 = __Pyx_PyInt_From_unsigned_int(__pyx_v_readlen); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); - __pyx_t_14 = __Pyx_PyInt_From_unsigned_int(__pyx_v_qlen); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 115, __pyx_L1_error) + __pyx_t_14 = __Pyx_PyInt_From_unsigned_int(__pyx_v_qlen); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); - __pyx_t_1 = __Pyx_PyInt_From_unsigned_int(__pyx_v_flag); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 115, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_From_unsigned_int(__pyx_v_flag); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_10 = __Pyx_PyInt_From_unsigned_int(__pyx_v_nm); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 115, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_24 = __Pyx_PyInt_From_int(__pyx_v_total_score); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 115, __pyx_L1_error) + __pyx_t_11 = __Pyx_PyInt_From_unsigned_int(__pyx_v_nm); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 116, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_24 = __Pyx_PyInt_From_int(__pyx_v_total_score); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); - /* "nanovar/nv_bam_parser.pyx":116 + /* "nanovar/nv_bam_parser.pyx":117 * ins_list = aln[13] * total_lines, contig_collect = info_parse(qname, rname, readlen, qlen, flag, nm, total_score, qseg, sseg, * del_list, ins_list, minalign) # <<<<<<<<<<<<<< * lines_sort = sorted(sorted(total_lines, key=lambda x: x[1], reverse=True), key=lambda y: y[0]) * temp1 = [tup[2] for tup in lines_sort] */ - __pyx_t_13 = __Pyx_PyInt_From_unsigned_int(__pyx_v_minalign); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 116, __pyx_L1_error) + __pyx_t_13 = __Pyx_PyInt_From_unsigned_int(__pyx_v_minalign); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_5 = NULL; __pyx_t_26 = 0; @@ -3935,77 +3976,77 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_20)) { - PyObject *__pyx_temp[13] = {__pyx_t_5, __pyx_v_qname, __pyx_v_rname, __pyx_t_23, __pyx_t_14, __pyx_t_1, __pyx_t_10, __pyx_t_24, __pyx_v_qseg, __pyx_v_sseg, __pyx_v_del_list, __pyx_v_ins_list, __pyx_t_13}; - __pyx_t_21 = __Pyx_PyFunction_FastCall(__pyx_t_20, __pyx_temp+1-__pyx_t_26, 12+__pyx_t_26); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 115, __pyx_L1_error) + PyObject *__pyx_temp[13] = {__pyx_t_5, __pyx_v_qname, __pyx_v_rname, __pyx_t_23, __pyx_t_14, __pyx_t_1, __pyx_t_11, __pyx_t_24, __pyx_v_qseg, __pyx_v_sseg, __pyx_v_del_list, __pyx_v_ins_list, __pyx_t_13}; + __pyx_t_21 = __Pyx_PyFunction_FastCall(__pyx_t_20, __pyx_temp+1-__pyx_t_26, 12+__pyx_t_26); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 116, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_20)) { - PyObject *__pyx_temp[13] = {__pyx_t_5, __pyx_v_qname, __pyx_v_rname, __pyx_t_23, __pyx_t_14, __pyx_t_1, __pyx_t_10, __pyx_t_24, __pyx_v_qseg, __pyx_v_sseg, __pyx_v_del_list, __pyx_v_ins_list, __pyx_t_13}; - __pyx_t_21 = __Pyx_PyCFunction_FastCall(__pyx_t_20, __pyx_temp+1-__pyx_t_26, 12+__pyx_t_26); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 115, __pyx_L1_error) + PyObject *__pyx_temp[13] = {__pyx_t_5, __pyx_v_qname, __pyx_v_rname, __pyx_t_23, __pyx_t_14, __pyx_t_1, __pyx_t_11, __pyx_t_24, __pyx_v_qseg, __pyx_v_sseg, __pyx_v_del_list, __pyx_v_ins_list, __pyx_t_13}; + __pyx_t_21 = __Pyx_PyCFunction_FastCall(__pyx_t_20, __pyx_temp+1-__pyx_t_26, 12+__pyx_t_26); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 116, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } else #endif { - __pyx_t_11 = PyTuple_New(12+__pyx_t_26); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 115, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); + __pyx_t_10 = PyTuple_New(12+__pyx_t_26); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 116, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_10); if (__pyx_t_5) { - __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_5); __pyx_t_5 = NULL; + __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_5); __pyx_t_5 = NULL; } __Pyx_INCREF(__pyx_v_qname); __Pyx_GIVEREF(__pyx_v_qname); - PyTuple_SET_ITEM(__pyx_t_11, 0+__pyx_t_26, __pyx_v_qname); + PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_26, __pyx_v_qname); __Pyx_INCREF(__pyx_v_rname); __Pyx_GIVEREF(__pyx_v_rname); - PyTuple_SET_ITEM(__pyx_t_11, 1+__pyx_t_26, __pyx_v_rname); + PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_26, __pyx_v_rname); __Pyx_GIVEREF(__pyx_t_23); - PyTuple_SET_ITEM(__pyx_t_11, 2+__pyx_t_26, __pyx_t_23); + PyTuple_SET_ITEM(__pyx_t_10, 2+__pyx_t_26, __pyx_t_23); __Pyx_GIVEREF(__pyx_t_14); - PyTuple_SET_ITEM(__pyx_t_11, 3+__pyx_t_26, __pyx_t_14); + PyTuple_SET_ITEM(__pyx_t_10, 3+__pyx_t_26, __pyx_t_14); __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_11, 4+__pyx_t_26, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_10); - PyTuple_SET_ITEM(__pyx_t_11, 5+__pyx_t_26, __pyx_t_10); + PyTuple_SET_ITEM(__pyx_t_10, 4+__pyx_t_26, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_10, 5+__pyx_t_26, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_24); - PyTuple_SET_ITEM(__pyx_t_11, 6+__pyx_t_26, __pyx_t_24); + PyTuple_SET_ITEM(__pyx_t_10, 6+__pyx_t_26, __pyx_t_24); __Pyx_INCREF(__pyx_v_qseg); __Pyx_GIVEREF(__pyx_v_qseg); - PyTuple_SET_ITEM(__pyx_t_11, 7+__pyx_t_26, __pyx_v_qseg); + PyTuple_SET_ITEM(__pyx_t_10, 7+__pyx_t_26, __pyx_v_qseg); __Pyx_INCREF(__pyx_v_sseg); __Pyx_GIVEREF(__pyx_v_sseg); - PyTuple_SET_ITEM(__pyx_t_11, 8+__pyx_t_26, __pyx_v_sseg); + PyTuple_SET_ITEM(__pyx_t_10, 8+__pyx_t_26, __pyx_v_sseg); __Pyx_INCREF(__pyx_v_del_list); __Pyx_GIVEREF(__pyx_v_del_list); - PyTuple_SET_ITEM(__pyx_t_11, 9+__pyx_t_26, __pyx_v_del_list); + PyTuple_SET_ITEM(__pyx_t_10, 9+__pyx_t_26, __pyx_v_del_list); __Pyx_INCREF(__pyx_v_ins_list); __Pyx_GIVEREF(__pyx_v_ins_list); - PyTuple_SET_ITEM(__pyx_t_11, 10+__pyx_t_26, __pyx_v_ins_list); + PyTuple_SET_ITEM(__pyx_t_10, 10+__pyx_t_26, __pyx_v_ins_list); __Pyx_GIVEREF(__pyx_t_13); - PyTuple_SET_ITEM(__pyx_t_11, 11+__pyx_t_26, __pyx_t_13); + PyTuple_SET_ITEM(__pyx_t_10, 11+__pyx_t_26, __pyx_t_13); __pyx_t_23 = 0; __pyx_t_14 = 0; __pyx_t_1 = 0; - __pyx_t_10 = 0; + __pyx_t_11 = 0; __pyx_t_24 = 0; __pyx_t_13 = 0; - __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_20, __pyx_t_11, NULL); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 115, __pyx_L1_error) + __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_20, __pyx_t_10, NULL); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_21))) || (PyList_CheckExact(__pyx_t_21))) { @@ -4014,36 +4055,36 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 115, __pyx_L1_error) + __PYX_ERR(0, 116, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_20 = PyTuple_GET_ITEM(sequence, 0); - __pyx_t_11 = PyTuple_GET_ITEM(sequence, 1); + __pyx_t_10 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_20 = PyList_GET_ITEM(sequence, 0); - __pyx_t_11 = PyList_GET_ITEM(sequence, 1); + __pyx_t_10 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_20); - __Pyx_INCREF(__pyx_t_11); + __Pyx_INCREF(__pyx_t_10); #else - __pyx_t_20 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 115, __pyx_L1_error) + __pyx_t_20 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); - __pyx_t_11 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 115, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); + __pyx_t_10 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 116, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_10); #endif __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; } else { Py_ssize_t index = -1; - __pyx_t_13 = PyObject_GetIter(__pyx_t_21); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 115, __pyx_L1_error) + __pyx_t_13 = PyObject_GetIter(__pyx_t_21); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_15 = Py_TYPE(__pyx_t_13)->tp_iternext; index = 0; __pyx_t_20 = __pyx_t_15(__pyx_t_13); if (unlikely(!__pyx_t_20)) goto __pyx_L33_unpacking_failed; __Pyx_GOTREF(__pyx_t_20); - index = 1; __pyx_t_11 = __pyx_t_15(__pyx_t_13); if (unlikely(!__pyx_t_11)) goto __pyx_L33_unpacking_failed; - __Pyx_GOTREF(__pyx_t_11); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_15(__pyx_t_13), 2) < 0) __PYX_ERR(0, 115, __pyx_L1_error) + index = 1; __pyx_t_10 = __pyx_t_15(__pyx_t_13); if (unlikely(!__pyx_t_10)) goto __pyx_L33_unpacking_failed; + __Pyx_GOTREF(__pyx_t_10); + if (__Pyx_IternextUnpackEndCheck(__pyx_t_15(__pyx_t_13), 2) < 0) __PYX_ERR(0, 116, __pyx_L1_error) __pyx_t_15 = NULL; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; goto __pyx_L34_unpacking_done; @@ -4051,135 +4092,135 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_15 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 115, __pyx_L1_error) + __PYX_ERR(0, 116, __pyx_L1_error) __pyx_L34_unpacking_done:; } - /* "nanovar/nv_bam_parser.pyx":115 + /* "nanovar/nv_bam_parser.pyx":116 * del_list = aln[12] * ins_list = aln[13] * total_lines, contig_collect = info_parse(qname, rname, readlen, qlen, flag, nm, total_score, qseg, sseg, # <<<<<<<<<<<<<< * del_list, ins_list, minalign) * lines_sort = sorted(sorted(total_lines, key=lambda x: x[1], reverse=True), key=lambda y: y[0]) */ - if (!(likely(PyList_CheckExact(__pyx_t_20))||((__pyx_t_20) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_20)->tp_name), 0))) __PYX_ERR(0, 115, __pyx_L1_error) - if (!(likely(PyList_CheckExact(__pyx_t_11))||((__pyx_t_11) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_11)->tp_name), 0))) __PYX_ERR(0, 115, __pyx_L1_error) + if (!(likely(PyList_CheckExact(__pyx_t_20))||((__pyx_t_20) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_20)->tp_name), 0))) __PYX_ERR(0, 116, __pyx_L1_error) + if (!(likely(PyList_CheckExact(__pyx_t_10))||((__pyx_t_10) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_10)->tp_name), 0))) __PYX_ERR(0, 116, __pyx_L1_error) __Pyx_DECREF_SET(__pyx_v_total_lines, ((PyObject*)__pyx_t_20)); __pyx_t_20 = 0; - __Pyx_DECREF_SET(__pyx_v_contig_collect, ((PyObject*)__pyx_t_11)); - __pyx_t_11 = 0; + __Pyx_DECREF_SET(__pyx_v_contig_collect, ((PyObject*)__pyx_t_10)); + __pyx_t_10 = 0; - /* "nanovar/nv_bam_parser.pyx":117 + /* "nanovar/nv_bam_parser.pyx":118 * total_lines, contig_collect = info_parse(qname, rname, readlen, qlen, flag, nm, total_score, qseg, sseg, * del_list, ins_list, minalign) * lines_sort = sorted(sorted(total_lines, key=lambda x: x[1], reverse=True), key=lambda y: y[0]) # <<<<<<<<<<<<<< * temp1 = [tup[2] for tup in lines_sort] * # Parse entries and correct overlap alignments */ - __pyx_t_21 = PyTuple_New(1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 117, __pyx_L1_error) + __pyx_t_21 = PyTuple_New(1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 118, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_INCREF(__pyx_v_total_lines); __Pyx_GIVEREF(__pyx_v_total_lines); PyTuple_SET_ITEM(__pyx_t_21, 0, __pyx_v_total_lines); - __pyx_t_11 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 117, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_20 = __Pyx_CyFunction_NewEx(&__pyx_mdef_7nanovar_13nv_bam_parser_9bam_parse_lambda, 0, __pyx_n_s_bam_parse_locals_lambda, NULL, __pyx_n_s_nanovar_nv_bam_parser, __pyx_d, NULL); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 117, __pyx_L1_error) + __pyx_t_10 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 118, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_20 = __Pyx_CyFunction_NewEx(&__pyx_mdef_7nanovar_13nv_bam_parser_9bam_parse_lambda, 0, __pyx_n_s_bam_parse_locals_lambda, NULL, __pyx_n_s_nanovar_nv_bam_parser, __pyx_d, NULL); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 118, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); - if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_key, __pyx_t_20) < 0) __PYX_ERR(0, 117, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_key, __pyx_t_20) < 0) __PYX_ERR(0, 118, __pyx_L1_error) __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_reverse, Py_True) < 0) __PYX_ERR(0, 117, __pyx_L1_error) - __pyx_t_20 = __Pyx_PyObject_Call(__pyx_builtin_sorted, __pyx_t_21, __pyx_t_11); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 117, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_reverse, Py_True) < 0) __PYX_ERR(0, 118, __pyx_L1_error) + __pyx_t_20 = __Pyx_PyObject_Call(__pyx_builtin_sorted, __pyx_t_21, __pyx_t_10); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 118, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = PyTuple_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 117, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_10 = PyTuple_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 118, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_10); __Pyx_GIVEREF(__pyx_t_20); - PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_20); + PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_20); __pyx_t_20 = 0; - __pyx_t_20 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 117, __pyx_L1_error) + __pyx_t_20 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 118, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); - __pyx_t_21 = __Pyx_CyFunction_NewEx(&__pyx_mdef_7nanovar_13nv_bam_parser_9bam_parse_1lambda1, 0, __pyx_n_s_bam_parse_locals_lambda, NULL, __pyx_n_s_nanovar_nv_bam_parser, __pyx_d, NULL); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 117, __pyx_L1_error) + __pyx_t_21 = __Pyx_CyFunction_NewEx(&__pyx_mdef_7nanovar_13nv_bam_parser_9bam_parse_1lambda1, 0, __pyx_n_s_bam_parse_locals_lambda, NULL, __pyx_n_s_nanovar_nv_bam_parser, __pyx_d, NULL); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 118, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); - if (PyDict_SetItem(__pyx_t_20, __pyx_n_s_key, __pyx_t_21) < 0) __PYX_ERR(0, 117, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_20, __pyx_n_s_key, __pyx_t_21) < 0) __PYX_ERR(0, 118, __pyx_L1_error) __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - __pyx_t_21 = __Pyx_PyObject_Call(__pyx_builtin_sorted, __pyx_t_11, __pyx_t_20); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 117, __pyx_L1_error) + __pyx_t_21 = __Pyx_PyObject_Call(__pyx_builtin_sorted, __pyx_t_10, __pyx_t_20); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 118, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_XDECREF_SET(__pyx_v_lines_sort, __pyx_t_21); __pyx_t_21 = 0; - /* "nanovar/nv_bam_parser.pyx":118 + /* "nanovar/nv_bam_parser.pyx":119 * del_list, ins_list, minalign) * lines_sort = sorted(sorted(total_lines, key=lambda x: x[1], reverse=True), key=lambda y: y[0]) * temp1 = [tup[2] for tup in lines_sort] # <<<<<<<<<<<<<< * # Parse entries and correct overlap alignments * subdata = entry_parser(temp1, contig_collect, ovlt) */ - __pyx_t_21 = PyList_New(0); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 118, __pyx_L1_error) + __pyx_t_21 = PyList_New(0); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 119, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); if (likely(PyList_CheckExact(__pyx_v_lines_sort)) || PyTuple_CheckExact(__pyx_v_lines_sort)) { __pyx_t_20 = __pyx_v_lines_sort; __Pyx_INCREF(__pyx_t_20); __pyx_t_27 = 0; __pyx_t_7 = NULL; } else { - __pyx_t_27 = -1; __pyx_t_20 = PyObject_GetIter(__pyx_v_lines_sort); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 118, __pyx_L1_error) + __pyx_t_27 = -1; __pyx_t_20 = PyObject_GetIter(__pyx_v_lines_sort); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 119, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); - __pyx_t_7 = Py_TYPE(__pyx_t_20)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 118, __pyx_L1_error) + __pyx_t_7 = Py_TYPE(__pyx_t_20)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 119, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_7)) { if (likely(PyList_CheckExact(__pyx_t_20))) { if (__pyx_t_27 >= PyList_GET_SIZE(__pyx_t_20)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_11 = PyList_GET_ITEM(__pyx_t_20, __pyx_t_27); __Pyx_INCREF(__pyx_t_11); __pyx_t_27++; if (unlikely(0 < 0)) __PYX_ERR(0, 118, __pyx_L1_error) + __pyx_t_10 = PyList_GET_ITEM(__pyx_t_20, __pyx_t_27); __Pyx_INCREF(__pyx_t_10); __pyx_t_27++; if (unlikely(0 < 0)) __PYX_ERR(0, 119, __pyx_L1_error) #else - __pyx_t_11 = PySequence_ITEM(__pyx_t_20, __pyx_t_27); __pyx_t_27++; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 118, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); + __pyx_t_10 = PySequence_ITEM(__pyx_t_20, __pyx_t_27); __pyx_t_27++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 119, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_10); #endif } else { if (__pyx_t_27 >= PyTuple_GET_SIZE(__pyx_t_20)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_11 = PyTuple_GET_ITEM(__pyx_t_20, __pyx_t_27); __Pyx_INCREF(__pyx_t_11); __pyx_t_27++; if (unlikely(0 < 0)) __PYX_ERR(0, 118, __pyx_L1_error) + __pyx_t_10 = PyTuple_GET_ITEM(__pyx_t_20, __pyx_t_27); __Pyx_INCREF(__pyx_t_10); __pyx_t_27++; if (unlikely(0 < 0)) __PYX_ERR(0, 119, __pyx_L1_error) #else - __pyx_t_11 = PySequence_ITEM(__pyx_t_20, __pyx_t_27); __pyx_t_27++; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 118, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); + __pyx_t_10 = PySequence_ITEM(__pyx_t_20, __pyx_t_27); __pyx_t_27++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 119, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_10); #endif } } else { - __pyx_t_11 = __pyx_t_7(__pyx_t_20); - if (unlikely(!__pyx_t_11)) { + __pyx_t_10 = __pyx_t_7(__pyx_t_20); + if (unlikely(!__pyx_t_10)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 118, __pyx_L1_error) + else __PYX_ERR(0, 119, __pyx_L1_error) } break; } - __Pyx_GOTREF(__pyx_t_11); + __Pyx_GOTREF(__pyx_t_10); } - __Pyx_XDECREF_SET(__pyx_v_tup, __pyx_t_11); - __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_GetItemInt(__pyx_v_tup, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 118, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - if (unlikely(__Pyx_ListComp_Append(__pyx_t_21, (PyObject*)__pyx_t_11))) __PYX_ERR(0, 118, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF_SET(__pyx_v_tup, __pyx_t_10); + __pyx_t_10 = 0; + __pyx_t_10 = __Pyx_GetItemInt(__pyx_v_tup, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 119, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_10); + if (unlikely(__Pyx_ListComp_Append(__pyx_t_21, (PyObject*)__pyx_t_10))) __PYX_ERR(0, 119, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_XDECREF_SET(__pyx_v_temp1, ((PyObject*)__pyx_t_21)); __pyx_t_21 = 0; - /* "nanovar/nv_bam_parser.pyx":120 + /* "nanovar/nv_bam_parser.pyx":121 * temp1 = [tup[2] for tup in lines_sort] * # Parse entries and correct overlap alignments * subdata = entry_parser(temp1, contig_collect, ovlt) # <<<<<<<<<<<<<< * for entry in subdata: * total_subdata.append('\t'.join(entry.split('\t')[0:5])) */ - __Pyx_GetModuleGlobalName(__pyx_t_20, __pyx_n_s_entry_parser); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 120, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_20, __pyx_n_s_entry_parser); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 121, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); - __pyx_t_11 = PyFloat_FromDouble(__pyx_v_ovlt); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 120, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); + __pyx_t_10 = PyFloat_FromDouble(__pyx_v_ovlt); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 121, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_10); __pyx_t_13 = NULL; __pyx_t_26 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_20))) { @@ -4194,24 +4235,24 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_20)) { - PyObject *__pyx_temp[4] = {__pyx_t_13, __pyx_v_temp1, __pyx_v_contig_collect, __pyx_t_11}; - __pyx_t_21 = __Pyx_PyFunction_FastCall(__pyx_t_20, __pyx_temp+1-__pyx_t_26, 3+__pyx_t_26); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 120, __pyx_L1_error) + PyObject *__pyx_temp[4] = {__pyx_t_13, __pyx_v_temp1, __pyx_v_contig_collect, __pyx_t_10}; + __pyx_t_21 = __Pyx_PyFunction_FastCall(__pyx_t_20, __pyx_temp+1-__pyx_t_26, 3+__pyx_t_26); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 121, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_GOTREF(__pyx_t_21); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_20)) { - PyObject *__pyx_temp[4] = {__pyx_t_13, __pyx_v_temp1, __pyx_v_contig_collect, __pyx_t_11}; - __pyx_t_21 = __Pyx_PyCFunction_FastCall(__pyx_t_20, __pyx_temp+1-__pyx_t_26, 3+__pyx_t_26); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 120, __pyx_L1_error) + PyObject *__pyx_temp[4] = {__pyx_t_13, __pyx_v_temp1, __pyx_v_contig_collect, __pyx_t_10}; + __pyx_t_21 = __Pyx_PyCFunction_FastCall(__pyx_t_20, __pyx_temp+1-__pyx_t_26, 3+__pyx_t_26); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 121, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_GOTREF(__pyx_t_21); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else #endif { - __pyx_t_24 = PyTuple_New(3+__pyx_t_26); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 120, __pyx_L1_error) + __pyx_t_24 = PyTuple_New(3+__pyx_t_26); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 121, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); if (__pyx_t_13) { __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_24, 0, __pyx_t_13); __pyx_t_13 = NULL; @@ -4222,10 +4263,10 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj __Pyx_INCREF(__pyx_v_contig_collect); __Pyx_GIVEREF(__pyx_v_contig_collect); PyTuple_SET_ITEM(__pyx_t_24, 1+__pyx_t_26, __pyx_v_contig_collect); - __Pyx_GIVEREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_24, 2+__pyx_t_26, __pyx_t_11); - __pyx_t_11 = 0; - __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_20, __pyx_t_24, NULL); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 120, __pyx_L1_error) + __Pyx_GIVEREF(__pyx_t_10); + PyTuple_SET_ITEM(__pyx_t_24, 2+__pyx_t_26, __pyx_t_10); + __pyx_t_10 = 0; + __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_20, __pyx_t_24, NULL); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 121, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; } @@ -4233,7 +4274,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj __Pyx_XDECREF_SET(__pyx_v_subdata, __pyx_t_21); __pyx_t_21 = 0; - /* "nanovar/nv_bam_parser.pyx":121 + /* "nanovar/nv_bam_parser.pyx":122 * # Parse entries and correct overlap alignments * subdata = entry_parser(temp1, contig_collect, ovlt) * for entry in subdata: # <<<<<<<<<<<<<< @@ -4244,26 +4285,26 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj __pyx_t_21 = __pyx_v_subdata; __Pyx_INCREF(__pyx_t_21); __pyx_t_27 = 0; __pyx_t_7 = NULL; } else { - __pyx_t_27 = -1; __pyx_t_21 = PyObject_GetIter(__pyx_v_subdata); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 121, __pyx_L1_error) + __pyx_t_27 = -1; __pyx_t_21 = PyObject_GetIter(__pyx_v_subdata); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 122, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); - __pyx_t_7 = Py_TYPE(__pyx_t_21)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 121, __pyx_L1_error) + __pyx_t_7 = Py_TYPE(__pyx_t_21)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 122, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_7)) { if (likely(PyList_CheckExact(__pyx_t_21))) { if (__pyx_t_27 >= PyList_GET_SIZE(__pyx_t_21)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_20 = PyList_GET_ITEM(__pyx_t_21, __pyx_t_27); __Pyx_INCREF(__pyx_t_20); __pyx_t_27++; if (unlikely(0 < 0)) __PYX_ERR(0, 121, __pyx_L1_error) + __pyx_t_20 = PyList_GET_ITEM(__pyx_t_21, __pyx_t_27); __Pyx_INCREF(__pyx_t_20); __pyx_t_27++; if (unlikely(0 < 0)) __PYX_ERR(0, 122, __pyx_L1_error) #else - __pyx_t_20 = PySequence_ITEM(__pyx_t_21, __pyx_t_27); __pyx_t_27++; if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 121, __pyx_L1_error) + __pyx_t_20 = PySequence_ITEM(__pyx_t_21, __pyx_t_27); __pyx_t_27++; if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 122, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); #endif } else { if (__pyx_t_27 >= PyTuple_GET_SIZE(__pyx_t_21)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_20 = PyTuple_GET_ITEM(__pyx_t_21, __pyx_t_27); __Pyx_INCREF(__pyx_t_20); __pyx_t_27++; if (unlikely(0 < 0)) __PYX_ERR(0, 121, __pyx_L1_error) + __pyx_t_20 = PyTuple_GET_ITEM(__pyx_t_21, __pyx_t_27); __Pyx_INCREF(__pyx_t_20); __pyx_t_27++; if (unlikely(0 < 0)) __PYX_ERR(0, 122, __pyx_L1_error) #else - __pyx_t_20 = PySequence_ITEM(__pyx_t_21, __pyx_t_27); __pyx_t_27++; if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 121, __pyx_L1_error) + __pyx_t_20 = PySequence_ITEM(__pyx_t_21, __pyx_t_27); __pyx_t_27++; if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 122, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); #endif } @@ -4273,7 +4314,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 121, __pyx_L1_error) + else __PYX_ERR(0, 122, __pyx_L1_error) } break; } @@ -4282,80 +4323,80 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj __Pyx_XDECREF_SET(__pyx_v_entry, __pyx_t_20); __pyx_t_20 = 0; - /* "nanovar/nv_bam_parser.pyx":122 + /* "nanovar/nv_bam_parser.pyx":123 * subdata = entry_parser(temp1, contig_collect, ovlt) * for entry in subdata: * total_subdata.append('\t'.join(entry.split('\t')[0:5])) # <<<<<<<<<<<<<< * # Add to base coverage * basecov += int(entry.split('\t')[2]) */ - __pyx_t_24 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_split); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 122, __pyx_L1_error) + __pyx_t_24 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_split); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 123, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); - __pyx_t_11 = NULL; + __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_24))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_24); - if (likely(__pyx_t_11)) { + __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_24); + if (likely(__pyx_t_10)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_24); - __Pyx_INCREF(__pyx_t_11); + __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_24, function); } } - __pyx_t_20 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_24, __pyx_t_11, __pyx_kp_s__4) : __Pyx_PyObject_CallOneArg(__pyx_t_24, __pyx_kp_s__4); - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 122, __pyx_L1_error) + __pyx_t_20 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_24, __pyx_t_10, __pyx_kp_s__4) : __Pyx_PyObject_CallOneArg(__pyx_t_24, __pyx_kp_s__4); + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 123, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; - __pyx_t_24 = __Pyx_PyObject_GetSlice(__pyx_t_20, 0, 5, NULL, NULL, &__pyx_slice__5, 1, 1, 1); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 122, __pyx_L1_error) + __pyx_t_24 = __Pyx_PyObject_GetSlice(__pyx_t_20, 0, 5, NULL, NULL, &__pyx_slice__5, 1, 1, 1); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 123, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - __pyx_t_20 = __Pyx_PyString_Join(__pyx_kp_s__4, __pyx_t_24); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 122, __pyx_L1_error) + __pyx_t_20 = __Pyx_PyString_Join(__pyx_kp_s__4, __pyx_t_24); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 123, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; - __pyx_t_22 = __Pyx_PyList_Append(__pyx_v_total_subdata, __pyx_t_20); if (unlikely(__pyx_t_22 == ((int)-1))) __PYX_ERR(0, 122, __pyx_L1_error) + __pyx_t_22 = __Pyx_PyList_Append(__pyx_v_total_subdata, __pyx_t_20); if (unlikely(__pyx_t_22 == ((int)-1))) __PYX_ERR(0, 123, __pyx_L1_error) __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - /* "nanovar/nv_bam_parser.pyx":124 + /* "nanovar/nv_bam_parser.pyx":125 * total_subdata.append('\t'.join(entry.split('\t')[0:5])) * # Add to base coverage * basecov += int(entry.split('\t')[2]) # <<<<<<<<<<<<<< * # SV detection * out1, out2 = sv_detect(subdata, splitpct, minalign, gapdict) */ - __pyx_t_20 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(__pyx_v_basecov); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 124, __pyx_L1_error) + __pyx_t_20 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(__pyx_v_basecov); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 125, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); - __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_split); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 124, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_split); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 125, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_10); __pyx_t_13 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) { - __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_11); + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_10); if (likely(__pyx_t_13)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); __Pyx_INCREF(__pyx_t_13); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_11, function); + __Pyx_DECREF_SET(__pyx_t_10, function); } } - __pyx_t_24 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_13, __pyx_kp_s__4) : __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_kp_s__4); + __pyx_t_24 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_13, __pyx_kp_s__4) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_kp_s__4); __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 124, __pyx_L1_error) + if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 125, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_GetItemInt(__pyx_t_24, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 124, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_10 = __Pyx_GetItemInt(__pyx_t_24, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 125, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; - __pyx_t_24 = __Pyx_PyNumber_Int(__pyx_t_11); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 124, __pyx_L1_error) + __pyx_t_24 = __Pyx_PyNumber_Int(__pyx_t_10); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 125, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_t_20, __pyx_t_24); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 124, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_t_20, __pyx_t_24); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 125, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; - __pyx_t_29 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_11); if (unlikely((__pyx_t_29 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 124, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __pyx_t_29 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_10); if (unlikely((__pyx_t_29 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 125, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_v_basecov = __pyx_t_29; - /* "nanovar/nv_bam_parser.pyx":121 + /* "nanovar/nv_bam_parser.pyx":122 * # Parse entries and correct overlap alignments * subdata = entry_parser(temp1, contig_collect, ovlt) * for entry in subdata: # <<<<<<<<<<<<<< @@ -4365,35 +4406,35 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj } __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - /* "nanovar/nv_bam_parser.pyx":126 + /* "nanovar/nv_bam_parser.pyx":127 * basecov += int(entry.split('\t')[2]) * # SV detection * out1, out2 = sv_detect(subdata, splitpct, minalign, gapdict) # <<<<<<<<<<<<<< * if out2 == '': * pass */ - __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_sv_detect); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 126, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_24 = PyFloat_FromDouble(__pyx_v_splitpct); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 126, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_sv_detect); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 127, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_24 = PyFloat_FromDouble(__pyx_v_splitpct); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 127, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); - __pyx_t_20 = __Pyx_PyInt_From_unsigned_int(__pyx_v_minalign); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 126, __pyx_L1_error) + __pyx_t_20 = __Pyx_PyInt_From_unsigned_int(__pyx_v_minalign); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 127, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_13 = NULL; __pyx_t_26 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_11))) { - __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_11); + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_10); if (likely(__pyx_t_13)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); __Pyx_INCREF(__pyx_t_13); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_11, function); + __Pyx_DECREF_SET(__pyx_t_10, function); __pyx_t_26 = 1; } } #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_11)) { + if (PyFunction_Check(__pyx_t_10)) { PyObject *__pyx_temp[5] = {__pyx_t_13, __pyx_v_subdata, __pyx_t_24, __pyx_t_20, __pyx_v_gapdict}; - __pyx_t_21 = __Pyx_PyFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_26, 4+__pyx_t_26); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 126, __pyx_L1_error) + __pyx_t_21 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_26, 4+__pyx_t_26); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 127, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; @@ -4401,9 +4442,9 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj } else #endif #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_11)) { + if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) { PyObject *__pyx_temp[5] = {__pyx_t_13, __pyx_v_subdata, __pyx_t_24, __pyx_t_20, __pyx_v_gapdict}; - __pyx_t_21 = __Pyx_PyCFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_26, 4+__pyx_t_26); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 126, __pyx_L1_error) + __pyx_t_21 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_26, 4+__pyx_t_26); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 127, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; @@ -4411,64 +4452,64 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj } else #endif { - __pyx_t_10 = PyTuple_New(4+__pyx_t_26); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 126, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); + __pyx_t_11 = PyTuple_New(4+__pyx_t_26); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 127, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); if (__pyx_t_13) { - __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_13); __pyx_t_13 = NULL; + __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_13); __pyx_t_13 = NULL; } __Pyx_INCREF(__pyx_v_subdata); __Pyx_GIVEREF(__pyx_v_subdata); - PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_26, __pyx_v_subdata); + PyTuple_SET_ITEM(__pyx_t_11, 0+__pyx_t_26, __pyx_v_subdata); __Pyx_GIVEREF(__pyx_t_24); - PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_26, __pyx_t_24); + PyTuple_SET_ITEM(__pyx_t_11, 1+__pyx_t_26, __pyx_t_24); __Pyx_GIVEREF(__pyx_t_20); - PyTuple_SET_ITEM(__pyx_t_10, 2+__pyx_t_26, __pyx_t_20); + PyTuple_SET_ITEM(__pyx_t_11, 2+__pyx_t_26, __pyx_t_20); __Pyx_INCREF(__pyx_v_gapdict); __Pyx_GIVEREF(__pyx_v_gapdict); - PyTuple_SET_ITEM(__pyx_t_10, 3+__pyx_t_26, __pyx_v_gapdict); + PyTuple_SET_ITEM(__pyx_t_11, 3+__pyx_t_26, __pyx_v_gapdict); __pyx_t_24 = 0; __pyx_t_20 = 0; - __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_10, NULL); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 126, __pyx_L1_error) + __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_11, NULL); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 127, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_21))) || (PyList_CheckExact(__pyx_t_21))) { PyObject* sequence = __pyx_t_21; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 126, __pyx_L1_error) + __PYX_ERR(0, 127, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { - __pyx_t_11 = PyTuple_GET_ITEM(sequence, 0); - __pyx_t_10 = PyTuple_GET_ITEM(sequence, 1); + __pyx_t_10 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_11 = PyTuple_GET_ITEM(sequence, 1); } else { - __pyx_t_11 = PyList_GET_ITEM(sequence, 0); - __pyx_t_10 = PyList_GET_ITEM(sequence, 1); + __pyx_t_10 = PyList_GET_ITEM(sequence, 0); + __pyx_t_11 = PyList_GET_ITEM(sequence, 1); } - __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(__pyx_t_10); + __Pyx_INCREF(__pyx_t_11); #else - __pyx_t_11 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 126, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_10 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 126, __pyx_L1_error) + __pyx_t_10 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 127, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); + __pyx_t_11 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 127, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); #endif __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; } else { Py_ssize_t index = -1; - __pyx_t_20 = PyObject_GetIter(__pyx_t_21); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 126, __pyx_L1_error) + __pyx_t_20 = PyObject_GetIter(__pyx_t_21); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 127, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_15 = Py_TYPE(__pyx_t_20)->tp_iternext; - index = 0; __pyx_t_11 = __pyx_t_15(__pyx_t_20); if (unlikely(!__pyx_t_11)) goto __pyx_L39_unpacking_failed; - __Pyx_GOTREF(__pyx_t_11); - index = 1; __pyx_t_10 = __pyx_t_15(__pyx_t_20); if (unlikely(!__pyx_t_10)) goto __pyx_L39_unpacking_failed; + index = 0; __pyx_t_10 = __pyx_t_15(__pyx_t_20); if (unlikely(!__pyx_t_10)) goto __pyx_L39_unpacking_failed; __Pyx_GOTREF(__pyx_t_10); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_15(__pyx_t_20), 2) < 0) __PYX_ERR(0, 126, __pyx_L1_error) + index = 1; __pyx_t_11 = __pyx_t_15(__pyx_t_20); if (unlikely(!__pyx_t_11)) goto __pyx_L39_unpacking_failed; + __Pyx_GOTREF(__pyx_t_11); + if (__Pyx_IternextUnpackEndCheck(__pyx_t_15(__pyx_t_20), 2) < 0) __PYX_ERR(0, 127, __pyx_L1_error) __pyx_t_15 = NULL; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; goto __pyx_L40_unpacking_done; @@ -4476,27 +4517,27 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __pyx_t_15 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 126, __pyx_L1_error) + __PYX_ERR(0, 127, __pyx_L1_error) __pyx_L40_unpacking_done:; } - __Pyx_XDECREF_SET(__pyx_v_out1, __pyx_t_11); - __pyx_t_11 = 0; - __Pyx_XDECREF_SET(__pyx_v_out2, __pyx_t_10); + __Pyx_XDECREF_SET(__pyx_v_out1, __pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF_SET(__pyx_v_out2, __pyx_t_11); + __pyx_t_11 = 0; - /* "nanovar/nv_bam_parser.pyx":127 + /* "nanovar/nv_bam_parser.pyx":128 * # SV detection * out1, out2 = sv_detect(subdata, splitpct, minalign, gapdict) * if out2 == '': # <<<<<<<<<<<<<< * pass * else: */ - __pyx_t_28 = (__Pyx_PyString_Equals(__pyx_v_out2, __pyx_kp_s__3, Py_EQ)); if (unlikely(__pyx_t_28 < 0)) __PYX_ERR(0, 127, __pyx_L1_error) + __pyx_t_28 = (__Pyx_PyString_Equals(__pyx_v_out2, __pyx_kp_s__3, Py_EQ)); if (unlikely(__pyx_t_28 < 0)) __PYX_ERR(0, 128, __pyx_L1_error) if (__pyx_t_28) { goto __pyx_L41; } - /* "nanovar/nv_bam_parser.pyx":131 + /* "nanovar/nv_bam_parser.pyx":132 * else: * # Save for debug * detect_out.append(out2) # <<<<<<<<<<<<<< @@ -4504,55 +4545,55 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj * final = breakpoint_parser(out2, minlen, sig_index, seed, 'mm') */ /*else*/ { - __pyx_t_22 = __Pyx_PyList_Append(__pyx_v_detect_out, __pyx_v_out2); if (unlikely(__pyx_t_22 == ((int)-1))) __PYX_ERR(0, 131, __pyx_L1_error) + __pyx_t_22 = __Pyx_PyList_Append(__pyx_v_detect_out, __pyx_v_out2); if (unlikely(__pyx_t_22 == ((int)-1))) __PYX_ERR(0, 132, __pyx_L1_error) - /* "nanovar/nv_bam_parser.pyx":133 + /* "nanovar/nv_bam_parser.pyx":134 * detect_out.append(out2) * # Parse breakpoints * final = breakpoint_parser(out2, minlen, sig_index, seed, 'mm') # <<<<<<<<<<<<<< * total_out.extend(final) * for i in final: */ - __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_breakpoint_parser); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 133, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_11 = __Pyx_PyInt_From_unsigned_int(__pyx_v_minlen); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 133, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_breakpoint_parser); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 134, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); - __pyx_t_20 = __Pyx_PyInt_From_unsigned_int(__pyx_v_seed); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 133, __pyx_L1_error) + __pyx_t_10 = __Pyx_PyInt_From_unsigned_int(__pyx_v_minlen); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 134, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_20 = __Pyx_PyInt_From_unsigned_int(__pyx_v_seed); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 134, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_24 = NULL; __pyx_t_26 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_24 = PyMethod_GET_SELF(__pyx_t_10); + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_11))) { + __pyx_t_24 = PyMethod_GET_SELF(__pyx_t_11); if (likely(__pyx_t_24)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); __Pyx_INCREF(__pyx_t_24); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); + __Pyx_DECREF_SET(__pyx_t_11, function); __pyx_t_26 = 1; } } #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_10)) { - PyObject *__pyx_temp[6] = {__pyx_t_24, __pyx_v_out2, __pyx_t_11, __pyx_v_sig_index, __pyx_t_20, __pyx_n_s_mm}; - __pyx_t_21 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_26, 5+__pyx_t_26); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 133, __pyx_L1_error) + if (PyFunction_Check(__pyx_t_11)) { + PyObject *__pyx_temp[6] = {__pyx_t_24, __pyx_v_out2, __pyx_t_10, __pyx_v_sig_index, __pyx_t_20, __pyx_n_s_mm}; + __pyx_t_21 = __Pyx_PyFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_26, 5+__pyx_t_26); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 134, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_GOTREF(__pyx_t_21); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; } else #endif #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) { - PyObject *__pyx_temp[6] = {__pyx_t_24, __pyx_v_out2, __pyx_t_11, __pyx_v_sig_index, __pyx_t_20, __pyx_n_s_mm}; - __pyx_t_21 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_26, 5+__pyx_t_26); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 133, __pyx_L1_error) + if (__Pyx_PyFastCFunction_Check(__pyx_t_11)) { + PyObject *__pyx_temp[6] = {__pyx_t_24, __pyx_v_out2, __pyx_t_10, __pyx_v_sig_index, __pyx_t_20, __pyx_n_s_mm}; + __pyx_t_21 = __Pyx_PyCFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_26, 5+__pyx_t_26); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 134, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_GOTREF(__pyx_t_21); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; } else #endif { - __pyx_t_13 = PyTuple_New(5+__pyx_t_26); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 133, __pyx_L1_error) + __pyx_t_13 = PyTuple_New(5+__pyx_t_26); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 134, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); if (__pyx_t_24) { __Pyx_GIVEREF(__pyx_t_24); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_24); __pyx_t_24 = NULL; @@ -4560,8 +4601,8 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj __Pyx_INCREF(__pyx_v_out2); __Pyx_GIVEREF(__pyx_v_out2); PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_26, __pyx_v_out2); - __Pyx_GIVEREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_26, __pyx_t_11); + __Pyx_GIVEREF(__pyx_t_10); + PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_26, __pyx_t_10); __Pyx_INCREF(__pyx_v_sig_index); __Pyx_GIVEREF(__pyx_v_sig_index); PyTuple_SET_ITEM(__pyx_t_13, 2+__pyx_t_26, __pyx_v_sig_index); @@ -4570,26 +4611,26 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj __Pyx_INCREF(__pyx_n_s_mm); __Pyx_GIVEREF(__pyx_n_s_mm); PyTuple_SET_ITEM(__pyx_t_13, 4+__pyx_t_26, __pyx_n_s_mm); - __pyx_t_11 = 0; + __pyx_t_10 = 0; __pyx_t_20 = 0; - __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_13, NULL); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 133, __pyx_L1_error) + __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_13, NULL); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 134, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_XDECREF_SET(__pyx_v_final, __pyx_t_21); __pyx_t_21 = 0; - /* "nanovar/nv_bam_parser.pyx":134 + /* "nanovar/nv_bam_parser.pyx":135 * # Parse breakpoints * final = breakpoint_parser(out2, minlen, sig_index, seed, 'mm') * total_out.extend(final) # <<<<<<<<<<<<<< * for i in final: * parse_dict[i.split('\t')[8]] = '\t'.join(i.split('\t')[0:5]) + '\tmm\t' + '\t'.join(i.split('\t')[6:]) */ - __pyx_t_22 = __Pyx_PyList_Extend(__pyx_v_total_out, __pyx_v_final); if (unlikely(__pyx_t_22 == ((int)-1))) __PYX_ERR(0, 134, __pyx_L1_error) + __pyx_t_22 = __Pyx_PyList_Extend(__pyx_v_total_out, __pyx_v_final); if (unlikely(__pyx_t_22 == ((int)-1))) __PYX_ERR(0, 135, __pyx_L1_error) - /* "nanovar/nv_bam_parser.pyx":135 + /* "nanovar/nv_bam_parser.pyx":136 * final = breakpoint_parser(out2, minlen, sig_index, seed, 'mm') * total_out.extend(final) * for i in final: # <<<<<<<<<<<<<< @@ -4600,52 +4641,52 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj __pyx_t_21 = __pyx_v_final; __Pyx_INCREF(__pyx_t_21); __pyx_t_27 = 0; __pyx_t_7 = NULL; } else { - __pyx_t_27 = -1; __pyx_t_21 = PyObject_GetIter(__pyx_v_final); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 135, __pyx_L1_error) + __pyx_t_27 = -1; __pyx_t_21 = PyObject_GetIter(__pyx_v_final); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 136, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); - __pyx_t_7 = Py_TYPE(__pyx_t_21)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 135, __pyx_L1_error) + __pyx_t_7 = Py_TYPE(__pyx_t_21)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 136, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_7)) { if (likely(PyList_CheckExact(__pyx_t_21))) { if (__pyx_t_27 >= PyList_GET_SIZE(__pyx_t_21)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_10 = PyList_GET_ITEM(__pyx_t_21, __pyx_t_27); __Pyx_INCREF(__pyx_t_10); __pyx_t_27++; if (unlikely(0 < 0)) __PYX_ERR(0, 135, __pyx_L1_error) + __pyx_t_11 = PyList_GET_ITEM(__pyx_t_21, __pyx_t_27); __Pyx_INCREF(__pyx_t_11); __pyx_t_27++; if (unlikely(0 < 0)) __PYX_ERR(0, 136, __pyx_L1_error) #else - __pyx_t_10 = PySequence_ITEM(__pyx_t_21, __pyx_t_27); __pyx_t_27++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 135, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); + __pyx_t_11 = PySequence_ITEM(__pyx_t_21, __pyx_t_27); __pyx_t_27++; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 136, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); #endif } else { if (__pyx_t_27 >= PyTuple_GET_SIZE(__pyx_t_21)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_10 = PyTuple_GET_ITEM(__pyx_t_21, __pyx_t_27); __Pyx_INCREF(__pyx_t_10); __pyx_t_27++; if (unlikely(0 < 0)) __PYX_ERR(0, 135, __pyx_L1_error) + __pyx_t_11 = PyTuple_GET_ITEM(__pyx_t_21, __pyx_t_27); __Pyx_INCREF(__pyx_t_11); __pyx_t_27++; if (unlikely(0 < 0)) __PYX_ERR(0, 136, __pyx_L1_error) #else - __pyx_t_10 = PySequence_ITEM(__pyx_t_21, __pyx_t_27); __pyx_t_27++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 135, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); + __pyx_t_11 = PySequence_ITEM(__pyx_t_21, __pyx_t_27); __pyx_t_27++; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 136, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); #endif } } else { - __pyx_t_10 = __pyx_t_7(__pyx_t_21); - if (unlikely(!__pyx_t_10)) { + __pyx_t_11 = __pyx_t_7(__pyx_t_21); + if (unlikely(!__pyx_t_11)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 135, __pyx_L1_error) + else __PYX_ERR(0, 136, __pyx_L1_error) } break; } - __Pyx_GOTREF(__pyx_t_10); + __Pyx_GOTREF(__pyx_t_11); } - __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_10); - __pyx_t_10 = 0; + __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_11); + __pyx_t_11 = 0; - /* "nanovar/nv_bam_parser.pyx":136 + /* "nanovar/nv_bam_parser.pyx":137 * total_out.extend(final) * for i in final: * parse_dict[i.split('\t')[8]] = '\t'.join(i.split('\t')[0:5]) + '\tmm\t' + '\t'.join(i.split('\t')[6:]) # <<<<<<<<<<<<<< * else: # Multiple alignment read * seed += 1 */ - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_i, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 136, __pyx_L1_error) + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_i, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 137, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_20 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { @@ -4657,72 +4698,72 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj __Pyx_DECREF_SET(__pyx_t_13, function); } } - __pyx_t_10 = (__pyx_t_20) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_20, __pyx_kp_s__4) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_s__4); + __pyx_t_11 = (__pyx_t_20) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_20, __pyx_kp_s__4) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_s__4); __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 136, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 137, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = __Pyx_PyObject_GetSlice(__pyx_t_10, 0, 5, NULL, NULL, &__pyx_slice__5, 1, 1, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 136, __pyx_L1_error) + __pyx_t_13 = __Pyx_PyObject_GetSlice(__pyx_t_11, 0, 5, NULL, NULL, &__pyx_slice__5, 1, 1, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 137, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = __Pyx_PyString_Join(__pyx_kp_s__4, __pyx_t_13); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 136, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __pyx_t_11 = __Pyx_PyString_Join(__pyx_kp_s__4, __pyx_t_13); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 137, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = PyNumber_Add(__pyx_t_10, __pyx_kp_s_mm_2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 136, __pyx_L1_error) + __pyx_t_13 = PyNumber_Add(__pyx_t_11, __pyx_kp_s_mm_2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 137, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_i, __pyx_n_s_split); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 136, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_i, __pyx_n_s_split); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 137, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); - __pyx_t_11 = NULL; + __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_20))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_20); - if (likely(__pyx_t_11)) { + __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_20); + if (likely(__pyx_t_10)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_20); - __Pyx_INCREF(__pyx_t_11); + __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_20, function); } } - __pyx_t_10 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_20, __pyx_t_11, __pyx_kp_s__4) : __Pyx_PyObject_CallOneArg(__pyx_t_20, __pyx_kp_s__4); - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 136, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); + __pyx_t_11 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_20, __pyx_t_10, __pyx_kp_s__4) : __Pyx_PyObject_CallOneArg(__pyx_t_20, __pyx_kp_s__4); + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 137, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - __pyx_t_20 = __Pyx_PyObject_GetSlice(__pyx_t_10, 6, 0, NULL, NULL, &__pyx_slice__6, 1, 0, 1); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 136, __pyx_L1_error) + __pyx_t_20 = __Pyx_PyObject_GetSlice(__pyx_t_11, 6, 0, NULL, NULL, &__pyx_slice__6, 1, 0, 1); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 137, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = __Pyx_PyString_Join(__pyx_kp_s__4, __pyx_t_20); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 136, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __pyx_t_11 = __Pyx_PyString_Join(__pyx_kp_s__4, __pyx_t_20); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 137, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - __pyx_t_20 = PyNumber_Add(__pyx_t_13, __pyx_t_10); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 136, __pyx_L1_error) + __pyx_t_20 = PyNumber_Add(__pyx_t_13, __pyx_t_11); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 137, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_i, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 136, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_i, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 137, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); - __pyx_t_11 = NULL; + __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_13); - if (likely(__pyx_t_11)) { + __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_13); + if (likely(__pyx_t_10)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); - __Pyx_INCREF(__pyx_t_11); + __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_13, function); } } - __pyx_t_10 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_11, __pyx_kp_s__4) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_s__4); - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 136, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); + __pyx_t_11 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_10, __pyx_kp_s__4) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_s__4); + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 137, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_10, 8, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 136, __pyx_L1_error) + __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_11, 8, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 137, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_parse_dict, __pyx_t_13, __pyx_t_20) < 0)) __PYX_ERR(0, 136, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + if (unlikely(PyDict_SetItem(__pyx_v_parse_dict, __pyx_t_13, __pyx_t_20) < 0)) __PYX_ERR(0, 137, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - /* "nanovar/nv_bam_parser.pyx":135 + /* "nanovar/nv_bam_parser.pyx":136 * final = breakpoint_parser(out2, minlen, sig_index, seed, 'mm') * total_out.extend(final) * for i in final: # <<<<<<<<<<<<<< @@ -4736,7 +4777,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj } __pyx_L32:; - /* "nanovar/nv_bam_parser.pyx":91 + /* "nanovar/nv_bam_parser.pyx":92 * gapdict = makegapdict(filter_file, contig_omit) * for qname in main_dict: * if len(main_dict[qname]) == 1: # Single alignment read # <<<<<<<<<<<<<< @@ -4746,7 +4787,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj goto __pyx_L31; } - /* "nanovar/nv_bam_parser.pyx":138 + /* "nanovar/nv_bam_parser.pyx":139 * parse_dict[i.split('\t')[8]] = '\t'.join(i.split('\t')[0:5]) + '\tmm\t' + '\t'.join(i.split('\t')[6:]) * else: # Multiple alignment read * seed += 1 # <<<<<<<<<<<<<< @@ -4756,46 +4797,46 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj /*else*/ { __pyx_v_seed = (__pyx_v_seed + 1); - /* "nanovar/nv_bam_parser.pyx":139 + /* "nanovar/nv_bam_parser.pyx":140 * else: # Multiple alignment read * seed += 1 * total_lines = [] # <<<<<<<<<<<<<< * contig_collect = [] * for aln in main_dict[qname]: */ - __pyx_t_21 = PyList_New(0); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 139, __pyx_L1_error) + __pyx_t_21 = PyList_New(0); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 140, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF_SET(__pyx_v_total_lines, ((PyObject*)__pyx_t_21)); __pyx_t_21 = 0; - /* "nanovar/nv_bam_parser.pyx":140 + /* "nanovar/nv_bam_parser.pyx":141 * seed += 1 * total_lines = [] * contig_collect = [] # <<<<<<<<<<<<<< * for aln in main_dict[qname]: * qname = aln[1] */ - __pyx_t_21 = PyList_New(0); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 140, __pyx_L1_error) + __pyx_t_21 = PyList_New(0); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 141, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF_SET(__pyx_v_contig_collect, ((PyObject*)__pyx_t_21)); __pyx_t_21 = 0; - /* "nanovar/nv_bam_parser.pyx":141 + /* "nanovar/nv_bam_parser.pyx":142 * total_lines = [] * contig_collect = [] * for aln in main_dict[qname]: # <<<<<<<<<<<<<< * qname = aln[1] * rname = aln[2] */ - __pyx_t_21 = __Pyx_PyDict_GetItem(__pyx_v_main_dict, __pyx_v_qname); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 141, __pyx_L1_error) + __pyx_t_21 = __Pyx_PyDict_GetItem(__pyx_v_main_dict, __pyx_v_qname); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); if (likely(PyList_CheckExact(__pyx_t_21)) || PyTuple_CheckExact(__pyx_t_21)) { __pyx_t_20 = __pyx_t_21; __Pyx_INCREF(__pyx_t_20); __pyx_t_27 = 0; __pyx_t_7 = NULL; } else { - __pyx_t_27 = -1; __pyx_t_20 = PyObject_GetIter(__pyx_t_21); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 141, __pyx_L1_error) + __pyx_t_27 = -1; __pyx_t_20 = PyObject_GetIter(__pyx_t_21); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); - __pyx_t_7 = Py_TYPE(__pyx_t_20)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 141, __pyx_L1_error) + __pyx_t_7 = Py_TYPE(__pyx_t_20)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 142, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; for (;;) { @@ -4803,17 +4844,17 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj if (likely(PyList_CheckExact(__pyx_t_20))) { if (__pyx_t_27 >= PyList_GET_SIZE(__pyx_t_20)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_21 = PyList_GET_ITEM(__pyx_t_20, __pyx_t_27); __Pyx_INCREF(__pyx_t_21); __pyx_t_27++; if (unlikely(0 < 0)) __PYX_ERR(0, 141, __pyx_L1_error) + __pyx_t_21 = PyList_GET_ITEM(__pyx_t_20, __pyx_t_27); __Pyx_INCREF(__pyx_t_21); __pyx_t_27++; if (unlikely(0 < 0)) __PYX_ERR(0, 142, __pyx_L1_error) #else - __pyx_t_21 = PySequence_ITEM(__pyx_t_20, __pyx_t_27); __pyx_t_27++; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 141, __pyx_L1_error) + __pyx_t_21 = PySequence_ITEM(__pyx_t_20, __pyx_t_27); __pyx_t_27++; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); #endif } else { if (__pyx_t_27 >= PyTuple_GET_SIZE(__pyx_t_20)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_21 = PyTuple_GET_ITEM(__pyx_t_20, __pyx_t_27); __Pyx_INCREF(__pyx_t_21); __pyx_t_27++; if (unlikely(0 < 0)) __PYX_ERR(0, 141, __pyx_L1_error) + __pyx_t_21 = PyTuple_GET_ITEM(__pyx_t_20, __pyx_t_27); __Pyx_INCREF(__pyx_t_21); __pyx_t_27++; if (unlikely(0 < 0)) __PYX_ERR(0, 142, __pyx_L1_error) #else - __pyx_t_21 = PySequence_ITEM(__pyx_t_20, __pyx_t_27); __pyx_t_27++; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 141, __pyx_L1_error) + __pyx_t_21 = PySequence_ITEM(__pyx_t_20, __pyx_t_27); __pyx_t_27++; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); #endif } @@ -4823,7 +4864,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 141, __pyx_L1_error) + else __PYX_ERR(0, 142, __pyx_L1_error) } break; } @@ -4832,177 +4873,177 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj __Pyx_XDECREF_SET(__pyx_v_aln, __pyx_t_21); __pyx_t_21 = 0; - /* "nanovar/nv_bam_parser.pyx":142 + /* "nanovar/nv_bam_parser.pyx":143 * contig_collect = [] * for aln in main_dict[qname]: * qname = aln[1] # <<<<<<<<<<<<<< * rname = aln[2] * readlen = aln[5] */ - __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_aln, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 142, __pyx_L1_error) + __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_aln, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 143, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); - if (!(likely(PyString_CheckExact(__pyx_t_21))||((__pyx_t_21) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_21)->tp_name), 0))) __PYX_ERR(0, 142, __pyx_L1_error) + if (!(likely(PyString_CheckExact(__pyx_t_21))||((__pyx_t_21) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_21)->tp_name), 0))) __PYX_ERR(0, 143, __pyx_L1_error) __Pyx_DECREF_SET(__pyx_v_qname, ((PyObject*)__pyx_t_21)); __pyx_t_21 = 0; - /* "nanovar/nv_bam_parser.pyx":143 + /* "nanovar/nv_bam_parser.pyx":144 * for aln in main_dict[qname]: * qname = aln[1] * rname = aln[2] # <<<<<<<<<<<<<< * readlen = aln[5] * qlen = aln[6] */ - __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_aln, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 143, __pyx_L1_error) + __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_aln, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 144, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); - if (!(likely(PyString_CheckExact(__pyx_t_21))||((__pyx_t_21) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_21)->tp_name), 0))) __PYX_ERR(0, 143, __pyx_L1_error) + if (!(likely(PyString_CheckExact(__pyx_t_21))||((__pyx_t_21) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_21)->tp_name), 0))) __PYX_ERR(0, 144, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_rname, ((PyObject*)__pyx_t_21)); __pyx_t_21 = 0; - /* "nanovar/nv_bam_parser.pyx":144 + /* "nanovar/nv_bam_parser.pyx":145 * qname = aln[1] * rname = aln[2] * readlen = aln[5] # <<<<<<<<<<<<<< * qlen = aln[6] * flag = aln[7] */ - __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_aln, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 144, __pyx_L1_error) + __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_aln, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 145, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); - __pyx_t_8 = __Pyx_PyInt_As_unsigned_int(__pyx_t_21); if (unlikely((__pyx_t_8 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 144, __pyx_L1_error) + __pyx_t_8 = __Pyx_PyInt_As_unsigned_int(__pyx_t_21); if (unlikely((__pyx_t_8 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 145, __pyx_L1_error) __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_v_readlen = __pyx_t_8; - /* "nanovar/nv_bam_parser.pyx":145 + /* "nanovar/nv_bam_parser.pyx":146 * rname = aln[2] * readlen = aln[5] * qlen = aln[6] # <<<<<<<<<<<<<< * flag = aln[7] * nm = aln[8] */ - __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_aln, 6, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 145, __pyx_L1_error) + __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_aln, 6, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 146, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); - __pyx_t_8 = __Pyx_PyInt_As_unsigned_int(__pyx_t_21); if (unlikely((__pyx_t_8 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 145, __pyx_L1_error) + __pyx_t_8 = __Pyx_PyInt_As_unsigned_int(__pyx_t_21); if (unlikely((__pyx_t_8 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 146, __pyx_L1_error) __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_v_qlen = __pyx_t_8; - /* "nanovar/nv_bam_parser.pyx":146 + /* "nanovar/nv_bam_parser.pyx":147 * readlen = aln[5] * qlen = aln[6] * flag = aln[7] # <<<<<<<<<<<<<< * nm = aln[8] * total_score = aln[9] */ - __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_aln, 7, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 146, __pyx_L1_error) + __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_aln, 7, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 147, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); - __pyx_t_8 = __Pyx_PyInt_As_unsigned_int(__pyx_t_21); if (unlikely((__pyx_t_8 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 146, __pyx_L1_error) + __pyx_t_8 = __Pyx_PyInt_As_unsigned_int(__pyx_t_21); if (unlikely((__pyx_t_8 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 147, __pyx_L1_error) __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_v_flag = __pyx_t_8; - /* "nanovar/nv_bam_parser.pyx":147 + /* "nanovar/nv_bam_parser.pyx":148 * qlen = aln[6] * flag = aln[7] * nm = aln[8] # <<<<<<<<<<<<<< * total_score = aln[9] * qseg = aln[10] */ - __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_aln, 8, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 147, __pyx_L1_error) + __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_aln, 8, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 148, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); - __pyx_t_8 = __Pyx_PyInt_As_unsigned_int(__pyx_t_21); if (unlikely((__pyx_t_8 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 147, __pyx_L1_error) + __pyx_t_8 = __Pyx_PyInt_As_unsigned_int(__pyx_t_21); if (unlikely((__pyx_t_8 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 148, __pyx_L1_error) __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_v_nm = __pyx_t_8; - /* "nanovar/nv_bam_parser.pyx":148 + /* "nanovar/nv_bam_parser.pyx":149 * flag = aln[7] * nm = aln[8] * total_score = aln[9] # <<<<<<<<<<<<<< * qseg = aln[10] * sseg = aln[11] */ - __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_aln, 9, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 148, __pyx_L1_error) + __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_aln, 9, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 149, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); - __pyx_t_26 = __Pyx_PyInt_As_int(__pyx_t_21); if (unlikely((__pyx_t_26 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 148, __pyx_L1_error) + __pyx_t_26 = __Pyx_PyInt_As_int(__pyx_t_21); if (unlikely((__pyx_t_26 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 149, __pyx_L1_error) __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_v_total_score = __pyx_t_26; - /* "nanovar/nv_bam_parser.pyx":149 + /* "nanovar/nv_bam_parser.pyx":150 * nm = aln[8] * total_score = aln[9] * qseg = aln[10] # <<<<<<<<<<<<<< * sseg = aln[11] * del_list = aln[12] */ - __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_aln, 10, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 149, __pyx_L1_error) + __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_aln, 10, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 150, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); - if (!(likely(PyList_CheckExact(__pyx_t_21))||((__pyx_t_21) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_21)->tp_name), 0))) __PYX_ERR(0, 149, __pyx_L1_error) + if (!(likely(PyList_CheckExact(__pyx_t_21))||((__pyx_t_21) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_21)->tp_name), 0))) __PYX_ERR(0, 150, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_qseg, ((PyObject*)__pyx_t_21)); __pyx_t_21 = 0; - /* "nanovar/nv_bam_parser.pyx":150 + /* "nanovar/nv_bam_parser.pyx":151 * total_score = aln[9] * qseg = aln[10] * sseg = aln[11] # <<<<<<<<<<<<<< * del_list = aln[12] * ins_list = aln[13] */ - __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_aln, 11, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 150, __pyx_L1_error) + __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_aln, 11, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 151, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); - if (!(likely(PyList_CheckExact(__pyx_t_21))||((__pyx_t_21) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_21)->tp_name), 0))) __PYX_ERR(0, 150, __pyx_L1_error) + if (!(likely(PyList_CheckExact(__pyx_t_21))||((__pyx_t_21) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_21)->tp_name), 0))) __PYX_ERR(0, 151, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_sseg, ((PyObject*)__pyx_t_21)); __pyx_t_21 = 0; - /* "nanovar/nv_bam_parser.pyx":151 + /* "nanovar/nv_bam_parser.pyx":152 * qseg = aln[10] * sseg = aln[11] * del_list = aln[12] # <<<<<<<<<<<<<< * ins_list = aln[13] * lines, contigs = info_parse(qname, rname, readlen, qlen, flag, nm, total_score, qseg, sseg, */ - __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_aln, 12, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 151, __pyx_L1_error) + __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_aln, 12, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 152, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); - if (!(likely(PyList_CheckExact(__pyx_t_21))||((__pyx_t_21) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_21)->tp_name), 0))) __PYX_ERR(0, 151, __pyx_L1_error) + if (!(likely(PyList_CheckExact(__pyx_t_21))||((__pyx_t_21) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_21)->tp_name), 0))) __PYX_ERR(0, 152, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_del_list, ((PyObject*)__pyx_t_21)); __pyx_t_21 = 0; - /* "nanovar/nv_bam_parser.pyx":152 + /* "nanovar/nv_bam_parser.pyx":153 * sseg = aln[11] * del_list = aln[12] * ins_list = aln[13] # <<<<<<<<<<<<<< * lines, contigs = info_parse(qname, rname, readlen, qlen, flag, nm, total_score, qseg, sseg, * del_list, ins_list, minalign) */ - __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_aln, 13, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 152, __pyx_L1_error) + __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_aln, 13, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 153, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); - if (!(likely(PyList_CheckExact(__pyx_t_21))||((__pyx_t_21) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_21)->tp_name), 0))) __PYX_ERR(0, 152, __pyx_L1_error) + if (!(likely(PyList_CheckExact(__pyx_t_21))||((__pyx_t_21) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_21)->tp_name), 0))) __PYX_ERR(0, 153, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_ins_list, ((PyObject*)__pyx_t_21)); __pyx_t_21 = 0; - /* "nanovar/nv_bam_parser.pyx":153 + /* "nanovar/nv_bam_parser.pyx":154 * del_list = aln[12] * ins_list = aln[13] * lines, contigs = info_parse(qname, rname, readlen, qlen, flag, nm, total_score, qseg, sseg, # <<<<<<<<<<<<<< * del_list, ins_list, minalign) * total_lines.extend(lines) */ - __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_info_parse); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 153, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_info_parse); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 154, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); - __pyx_t_10 = __Pyx_PyInt_From_unsigned_int(__pyx_v_readlen); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 153, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_11 = __Pyx_PyInt_From_unsigned_int(__pyx_v_qlen); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 153, __pyx_L1_error) + __pyx_t_11 = __Pyx_PyInt_From_unsigned_int(__pyx_v_readlen); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 154, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); - __pyx_t_24 = __Pyx_PyInt_From_unsigned_int(__pyx_v_flag); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 153, __pyx_L1_error) + __pyx_t_10 = __Pyx_PyInt_From_unsigned_int(__pyx_v_qlen); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 154, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_24 = __Pyx_PyInt_From_unsigned_int(__pyx_v_flag); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 154, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); - __pyx_t_1 = __Pyx_PyInt_From_unsigned_int(__pyx_v_nm); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 153, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_From_unsigned_int(__pyx_v_nm); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 154, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_14 = __Pyx_PyInt_From_int(__pyx_v_total_score); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 153, __pyx_L1_error) + __pyx_t_14 = __Pyx_PyInt_From_int(__pyx_v_total_score); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 154, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); - /* "nanovar/nv_bam_parser.pyx":154 + /* "nanovar/nv_bam_parser.pyx":155 * ins_list = aln[13] * lines, contigs = info_parse(qname, rname, readlen, qlen, flag, nm, total_score, qseg, sseg, * del_list, ins_list, minalign) # <<<<<<<<<<<<<< * total_lines.extend(lines) * contig_collect.extend(contigs) */ - __pyx_t_23 = __Pyx_PyInt_From_unsigned_int(__pyx_v_minalign); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 154, __pyx_L1_error) + __pyx_t_23 = __Pyx_PyInt_From_unsigned_int(__pyx_v_minalign); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 155, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_5 = NULL; __pyx_t_26 = 0; @@ -5018,12 +5059,12 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_13)) { - PyObject *__pyx_temp[13] = {__pyx_t_5, __pyx_v_qname, __pyx_v_rname, __pyx_t_10, __pyx_t_11, __pyx_t_24, __pyx_t_1, __pyx_t_14, __pyx_v_qseg, __pyx_v_sseg, __pyx_v_del_list, __pyx_v_ins_list, __pyx_t_23}; - __pyx_t_21 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_26, 12+__pyx_t_26); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 153, __pyx_L1_error) + PyObject *__pyx_temp[13] = {__pyx_t_5, __pyx_v_qname, __pyx_v_rname, __pyx_t_11, __pyx_t_10, __pyx_t_24, __pyx_t_1, __pyx_t_14, __pyx_v_qseg, __pyx_v_sseg, __pyx_v_del_list, __pyx_v_ins_list, __pyx_t_23}; + __pyx_t_21 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_26, 12+__pyx_t_26); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 154, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_21); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; @@ -5032,12 +5073,12 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) { - PyObject *__pyx_temp[13] = {__pyx_t_5, __pyx_v_qname, __pyx_v_rname, __pyx_t_10, __pyx_t_11, __pyx_t_24, __pyx_t_1, __pyx_t_14, __pyx_v_qseg, __pyx_v_sseg, __pyx_v_del_list, __pyx_v_ins_list, __pyx_t_23}; - __pyx_t_21 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_26, 12+__pyx_t_26); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 153, __pyx_L1_error) + PyObject *__pyx_temp[13] = {__pyx_t_5, __pyx_v_qname, __pyx_v_rname, __pyx_t_11, __pyx_t_10, __pyx_t_24, __pyx_t_1, __pyx_t_14, __pyx_v_qseg, __pyx_v_sseg, __pyx_v_del_list, __pyx_v_ins_list, __pyx_t_23}; + __pyx_t_21 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_26, 12+__pyx_t_26); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 154, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_21); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; @@ -5045,7 +5086,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj } else #endif { - __pyx_t_3 = PyTuple_New(12+__pyx_t_26); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 153, __pyx_L1_error) + __pyx_t_3 = PyTuple_New(12+__pyx_t_26); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 154, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); __pyx_t_5 = NULL; @@ -5056,10 +5097,10 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj __Pyx_INCREF(__pyx_v_rname); __Pyx_GIVEREF(__pyx_v_rname); PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_26, __pyx_v_rname); - __Pyx_GIVEREF(__pyx_t_10); - PyTuple_SET_ITEM(__pyx_t_3, 2+__pyx_t_26, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_3, 3+__pyx_t_26, __pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_3, 2+__pyx_t_26, __pyx_t_11); + __Pyx_GIVEREF(__pyx_t_10); + PyTuple_SET_ITEM(__pyx_t_3, 3+__pyx_t_26, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_24); PyTuple_SET_ITEM(__pyx_t_3, 4+__pyx_t_26, __pyx_t_24); __Pyx_GIVEREF(__pyx_t_1); @@ -5080,13 +5121,13 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj PyTuple_SET_ITEM(__pyx_t_3, 10+__pyx_t_26, __pyx_v_ins_list); __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_3, 11+__pyx_t_26, __pyx_t_23); - __pyx_t_10 = 0; __pyx_t_11 = 0; + __pyx_t_10 = 0; __pyx_t_24 = 0; __pyx_t_1 = 0; __pyx_t_14 = 0; __pyx_t_23 = 0; - __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_3, NULL); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 153, __pyx_L1_error) + __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_3, NULL); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 154, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } @@ -5097,7 +5138,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 153, __pyx_L1_error) + __PYX_ERR(0, 154, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { @@ -5110,15 +5151,15 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj __Pyx_INCREF(__pyx_t_13); __Pyx_INCREF(__pyx_t_3); #else - __pyx_t_13 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 153, __pyx_L1_error) + __pyx_t_13 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 154, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); - __pyx_t_3 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 153, __pyx_L1_error) + __pyx_t_3 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 154, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; } else { Py_ssize_t index = -1; - __pyx_t_23 = PyObject_GetIter(__pyx_t_21); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 153, __pyx_L1_error) + __pyx_t_23 = PyObject_GetIter(__pyx_t_21); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 154, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_15 = Py_TYPE(__pyx_t_23)->tp_iternext; @@ -5126,7 +5167,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj __Pyx_GOTREF(__pyx_t_13); index = 1; __pyx_t_3 = __pyx_t_15(__pyx_t_23); if (unlikely(!__pyx_t_3)) goto __pyx_L46_unpacking_failed; __Pyx_GOTREF(__pyx_t_3); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_15(__pyx_t_23), 2) < 0) __PYX_ERR(0, 153, __pyx_L1_error) + if (__Pyx_IternextUnpackEndCheck(__pyx_t_15(__pyx_t_23), 2) < 0) __PYX_ERR(0, 154, __pyx_L1_error) __pyx_t_15 = NULL; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; goto __pyx_L47_unpacking_done; @@ -5134,11 +5175,11 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_15 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 153, __pyx_L1_error) + __PYX_ERR(0, 154, __pyx_L1_error) __pyx_L47_unpacking_done:; } - /* "nanovar/nv_bam_parser.pyx":153 + /* "nanovar/nv_bam_parser.pyx":154 * del_list = aln[12] * ins_list = aln[13] * lines, contigs = info_parse(qname, rname, readlen, qlen, flag, nm, total_score, qseg, sseg, # <<<<<<<<<<<<<< @@ -5150,25 +5191,25 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj __Pyx_XDECREF_SET(__pyx_v_contigs, __pyx_t_3); __pyx_t_3 = 0; - /* "nanovar/nv_bam_parser.pyx":155 + /* "nanovar/nv_bam_parser.pyx":156 * lines, contigs = info_parse(qname, rname, readlen, qlen, flag, nm, total_score, qseg, sseg, * del_list, ins_list, minalign) * total_lines.extend(lines) # <<<<<<<<<<<<<< * contig_collect.extend(contigs) * contig_collect = sorted(set(contig_collect)) */ - __pyx_t_22 = __Pyx_PyList_Extend(__pyx_v_total_lines, __pyx_v_lines); if (unlikely(__pyx_t_22 == ((int)-1))) __PYX_ERR(0, 155, __pyx_L1_error) + __pyx_t_22 = __Pyx_PyList_Extend(__pyx_v_total_lines, __pyx_v_lines); if (unlikely(__pyx_t_22 == ((int)-1))) __PYX_ERR(0, 156, __pyx_L1_error) - /* "nanovar/nv_bam_parser.pyx":156 + /* "nanovar/nv_bam_parser.pyx":157 * del_list, ins_list, minalign) * total_lines.extend(lines) * contig_collect.extend(contigs) # <<<<<<<<<<<<<< * contig_collect = sorted(set(contig_collect)) * lines_sort = sorted(sorted(total_lines, key=lambda x: x[1], reverse=True), key=lambda y: y[0]) */ - __pyx_t_22 = __Pyx_PyList_Extend(__pyx_v_contig_collect, __pyx_v_contigs); if (unlikely(__pyx_t_22 == ((int)-1))) __PYX_ERR(0, 156, __pyx_L1_error) + __pyx_t_22 = __Pyx_PyList_Extend(__pyx_v_contig_collect, __pyx_v_contigs); if (unlikely(__pyx_t_22 == ((int)-1))) __PYX_ERR(0, 157, __pyx_L1_error) - /* "nanovar/nv_bam_parser.pyx":141 + /* "nanovar/nv_bam_parser.pyx":142 * total_lines = [] * contig_collect = [] * for aln in main_dict[qname]: # <<<<<<<<<<<<<< @@ -5178,98 +5219,98 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj } __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - /* "nanovar/nv_bam_parser.pyx":157 + /* "nanovar/nv_bam_parser.pyx":158 * total_lines.extend(lines) * contig_collect.extend(contigs) * contig_collect = sorted(set(contig_collect)) # <<<<<<<<<<<<<< * lines_sort = sorted(sorted(total_lines, key=lambda x: x[1], reverse=True), key=lambda y: y[0]) * temp1 = [tup[2] for tup in lines_sort] */ - __pyx_t_21 = PySet_New(__pyx_v_contig_collect); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 157, __pyx_L1_error) + __pyx_t_21 = PySet_New(__pyx_v_contig_collect); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 158, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); - __pyx_t_3 = PySequence_List(__pyx_t_21); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 157, __pyx_L1_error) + __pyx_t_3 = PySequence_List(__pyx_t_21); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 158, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_20 = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_22 = PyList_Sort(__pyx_t_20); if (unlikely(__pyx_t_22 == ((int)-1))) __PYX_ERR(0, 157, __pyx_L1_error) + __pyx_t_22 = PyList_Sort(__pyx_t_20); if (unlikely(__pyx_t_22 == ((int)-1))) __PYX_ERR(0, 158, __pyx_L1_error) __Pyx_DECREF_SET(__pyx_v_contig_collect, ((PyObject*)__pyx_t_20)); __pyx_t_20 = 0; - /* "nanovar/nv_bam_parser.pyx":158 + /* "nanovar/nv_bam_parser.pyx":159 * contig_collect.extend(contigs) * contig_collect = sorted(set(contig_collect)) * lines_sort = sorted(sorted(total_lines, key=lambda x: x[1], reverse=True), key=lambda y: y[0]) # <<<<<<<<<<<<<< * temp1 = [tup[2] for tup in lines_sort] * # Parse entries and correct overlap alignments */ - __pyx_t_20 = PyTuple_New(1); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 158, __pyx_L1_error) + __pyx_t_20 = PyTuple_New(1); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 159, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_INCREF(__pyx_v_total_lines); __Pyx_GIVEREF(__pyx_v_total_lines); PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_v_total_lines); - __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 158, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 159, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_21 = __Pyx_CyFunction_NewEx(&__pyx_mdef_7nanovar_13nv_bam_parser_9bam_parse_2lambda2, 0, __pyx_n_s_bam_parse_locals_lambda, NULL, __pyx_n_s_nanovar_nv_bam_parser, __pyx_d, NULL); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 158, __pyx_L1_error) + __pyx_t_21 = __Pyx_CyFunction_NewEx(&__pyx_mdef_7nanovar_13nv_bam_parser_9bam_parse_2lambda2, 0, __pyx_n_s_bam_parse_locals_lambda, NULL, __pyx_n_s_nanovar_nv_bam_parser, __pyx_d, NULL); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 159, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_key, __pyx_t_21) < 0) __PYX_ERR(0, 158, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_key, __pyx_t_21) < 0) __PYX_ERR(0, 159, __pyx_L1_error) __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_reverse, Py_True) < 0) __PYX_ERR(0, 158, __pyx_L1_error) - __pyx_t_21 = __Pyx_PyObject_Call(__pyx_builtin_sorted, __pyx_t_20, __pyx_t_3); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 158, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_reverse, Py_True) < 0) __PYX_ERR(0, 159, __pyx_L1_error) + __pyx_t_21 = __Pyx_PyObject_Call(__pyx_builtin_sorted, __pyx_t_20, __pyx_t_3); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 159, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 158, __pyx_L1_error) + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 159, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_21); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_21); __pyx_t_21 = 0; - __pyx_t_21 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 158, __pyx_L1_error) + __pyx_t_21 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 159, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); - __pyx_t_20 = __Pyx_CyFunction_NewEx(&__pyx_mdef_7nanovar_13nv_bam_parser_9bam_parse_3lambda3, 0, __pyx_n_s_bam_parse_locals_lambda, NULL, __pyx_n_s_nanovar_nv_bam_parser, __pyx_d, NULL); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 158, __pyx_L1_error) + __pyx_t_20 = __Pyx_CyFunction_NewEx(&__pyx_mdef_7nanovar_13nv_bam_parser_9bam_parse_3lambda3, 0, __pyx_n_s_bam_parse_locals_lambda, NULL, __pyx_n_s_nanovar_nv_bam_parser, __pyx_d, NULL); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 159, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); - if (PyDict_SetItem(__pyx_t_21, __pyx_n_s_key, __pyx_t_20) < 0) __PYX_ERR(0, 158, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_21, __pyx_n_s_key, __pyx_t_20) < 0) __PYX_ERR(0, 159, __pyx_L1_error) __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - __pyx_t_20 = __Pyx_PyObject_Call(__pyx_builtin_sorted, __pyx_t_3, __pyx_t_21); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 158, __pyx_L1_error) + __pyx_t_20 = __Pyx_PyObject_Call(__pyx_builtin_sorted, __pyx_t_3, __pyx_t_21); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 159, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_XDECREF_SET(__pyx_v_lines_sort, __pyx_t_20); __pyx_t_20 = 0; - /* "nanovar/nv_bam_parser.pyx":159 + /* "nanovar/nv_bam_parser.pyx":160 * contig_collect = sorted(set(contig_collect)) * lines_sort = sorted(sorted(total_lines, key=lambda x: x[1], reverse=True), key=lambda y: y[0]) * temp1 = [tup[2] for tup in lines_sort] # <<<<<<<<<<<<<< * # Parse entries and correct overlap alignments * subdata = entry_parser(temp1, contig_collect, ovlt) */ - __pyx_t_20 = PyList_New(0); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 159, __pyx_L1_error) + __pyx_t_20 = PyList_New(0); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 160, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); if (likely(PyList_CheckExact(__pyx_v_lines_sort)) || PyTuple_CheckExact(__pyx_v_lines_sort)) { __pyx_t_21 = __pyx_v_lines_sort; __Pyx_INCREF(__pyx_t_21); __pyx_t_27 = 0; __pyx_t_7 = NULL; } else { - __pyx_t_27 = -1; __pyx_t_21 = PyObject_GetIter(__pyx_v_lines_sort); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 159, __pyx_L1_error) + __pyx_t_27 = -1; __pyx_t_21 = PyObject_GetIter(__pyx_v_lines_sort); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 160, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); - __pyx_t_7 = Py_TYPE(__pyx_t_21)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 159, __pyx_L1_error) + __pyx_t_7 = Py_TYPE(__pyx_t_21)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 160, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_7)) { if (likely(PyList_CheckExact(__pyx_t_21))) { if (__pyx_t_27 >= PyList_GET_SIZE(__pyx_t_21)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_3 = PyList_GET_ITEM(__pyx_t_21, __pyx_t_27); __Pyx_INCREF(__pyx_t_3); __pyx_t_27++; if (unlikely(0 < 0)) __PYX_ERR(0, 159, __pyx_L1_error) + __pyx_t_3 = PyList_GET_ITEM(__pyx_t_21, __pyx_t_27); __Pyx_INCREF(__pyx_t_3); __pyx_t_27++; if (unlikely(0 < 0)) __PYX_ERR(0, 160, __pyx_L1_error) #else - __pyx_t_3 = PySequence_ITEM(__pyx_t_21, __pyx_t_27); __pyx_t_27++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 159, __pyx_L1_error) + __pyx_t_3 = PySequence_ITEM(__pyx_t_21, __pyx_t_27); __pyx_t_27++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 160, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } else { if (__pyx_t_27 >= PyTuple_GET_SIZE(__pyx_t_21)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_21, __pyx_t_27); __Pyx_INCREF(__pyx_t_3); __pyx_t_27++; if (unlikely(0 < 0)) __PYX_ERR(0, 159, __pyx_L1_error) + __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_21, __pyx_t_27); __Pyx_INCREF(__pyx_t_3); __pyx_t_27++; if (unlikely(0 < 0)) __PYX_ERR(0, 160, __pyx_L1_error) #else - __pyx_t_3 = PySequence_ITEM(__pyx_t_21, __pyx_t_27); __pyx_t_27++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 159, __pyx_L1_error) + __pyx_t_3 = PySequence_ITEM(__pyx_t_21, __pyx_t_27); __pyx_t_27++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 160, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } @@ -5279,7 +5320,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 159, __pyx_L1_error) + else __PYX_ERR(0, 160, __pyx_L1_error) } break; } @@ -5287,25 +5328,25 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj } __Pyx_XDECREF_SET(__pyx_v_tup, __pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_tup, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 159, __pyx_L1_error) + __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_tup, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 160, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - if (unlikely(__Pyx_ListComp_Append(__pyx_t_20, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 159, __pyx_L1_error) + if (unlikely(__Pyx_ListComp_Append(__pyx_t_20, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 160, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_XDECREF_SET(__pyx_v_temp1, ((PyObject*)__pyx_t_20)); __pyx_t_20 = 0; - /* "nanovar/nv_bam_parser.pyx":161 + /* "nanovar/nv_bam_parser.pyx":162 * temp1 = [tup[2] for tup in lines_sort] * # Parse entries and correct overlap alignments * subdata = entry_parser(temp1, contig_collect, ovlt) # <<<<<<<<<<<<<< * for entry in subdata: * total_subdata.append('\t'.join(entry.split('\t')[0:5])) */ - __Pyx_GetModuleGlobalName(__pyx_t_21, __pyx_n_s_entry_parser); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 161, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_21, __pyx_n_s_entry_parser); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 162, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_ovlt); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 161, __pyx_L1_error) + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_ovlt); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 162, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_13 = NULL; __pyx_t_26 = 0; @@ -5322,7 +5363,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_21)) { PyObject *__pyx_temp[4] = {__pyx_t_13, __pyx_v_temp1, __pyx_v_contig_collect, __pyx_t_3}; - __pyx_t_20 = __Pyx_PyFunction_FastCall(__pyx_t_21, __pyx_temp+1-__pyx_t_26, 3+__pyx_t_26); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 161, __pyx_L1_error) + __pyx_t_20 = __Pyx_PyFunction_FastCall(__pyx_t_21, __pyx_temp+1-__pyx_t_26, 3+__pyx_t_26); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 162, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -5331,14 +5372,14 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_21)) { PyObject *__pyx_temp[4] = {__pyx_t_13, __pyx_v_temp1, __pyx_v_contig_collect, __pyx_t_3}; - __pyx_t_20 = __Pyx_PyCFunction_FastCall(__pyx_t_21, __pyx_temp+1-__pyx_t_26, 3+__pyx_t_26); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 161, __pyx_L1_error) + __pyx_t_20 = __Pyx_PyCFunction_FastCall(__pyx_t_21, __pyx_temp+1-__pyx_t_26, 3+__pyx_t_26); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 162, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif { - __pyx_t_23 = PyTuple_New(3+__pyx_t_26); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 161, __pyx_L1_error) + __pyx_t_23 = PyTuple_New(3+__pyx_t_26); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 162, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); if (__pyx_t_13) { __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_23, 0, __pyx_t_13); __pyx_t_13 = NULL; @@ -5352,7 +5393,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_23, 2+__pyx_t_26, __pyx_t_3); __pyx_t_3 = 0; - __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_21, __pyx_t_23, NULL); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 161, __pyx_L1_error) + __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_21, __pyx_t_23, NULL); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 162, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; } @@ -5360,7 +5401,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj __Pyx_XDECREF_SET(__pyx_v_subdata, __pyx_t_20); __pyx_t_20 = 0; - /* "nanovar/nv_bam_parser.pyx":162 + /* "nanovar/nv_bam_parser.pyx":163 * # Parse entries and correct overlap alignments * subdata = entry_parser(temp1, contig_collect, ovlt) * for entry in subdata: # <<<<<<<<<<<<<< @@ -5371,26 +5412,26 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj __pyx_t_20 = __pyx_v_subdata; __Pyx_INCREF(__pyx_t_20); __pyx_t_27 = 0; __pyx_t_7 = NULL; } else { - __pyx_t_27 = -1; __pyx_t_20 = PyObject_GetIter(__pyx_v_subdata); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 162, __pyx_L1_error) + __pyx_t_27 = -1; __pyx_t_20 = PyObject_GetIter(__pyx_v_subdata); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 163, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); - __pyx_t_7 = Py_TYPE(__pyx_t_20)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 162, __pyx_L1_error) + __pyx_t_7 = Py_TYPE(__pyx_t_20)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 163, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_7)) { if (likely(PyList_CheckExact(__pyx_t_20))) { if (__pyx_t_27 >= PyList_GET_SIZE(__pyx_t_20)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_21 = PyList_GET_ITEM(__pyx_t_20, __pyx_t_27); __Pyx_INCREF(__pyx_t_21); __pyx_t_27++; if (unlikely(0 < 0)) __PYX_ERR(0, 162, __pyx_L1_error) + __pyx_t_21 = PyList_GET_ITEM(__pyx_t_20, __pyx_t_27); __Pyx_INCREF(__pyx_t_21); __pyx_t_27++; if (unlikely(0 < 0)) __PYX_ERR(0, 163, __pyx_L1_error) #else - __pyx_t_21 = PySequence_ITEM(__pyx_t_20, __pyx_t_27); __pyx_t_27++; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 162, __pyx_L1_error) + __pyx_t_21 = PySequence_ITEM(__pyx_t_20, __pyx_t_27); __pyx_t_27++; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 163, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); #endif } else { if (__pyx_t_27 >= PyTuple_GET_SIZE(__pyx_t_20)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_21 = PyTuple_GET_ITEM(__pyx_t_20, __pyx_t_27); __Pyx_INCREF(__pyx_t_21); __pyx_t_27++; if (unlikely(0 < 0)) __PYX_ERR(0, 162, __pyx_L1_error) + __pyx_t_21 = PyTuple_GET_ITEM(__pyx_t_20, __pyx_t_27); __Pyx_INCREF(__pyx_t_21); __pyx_t_27++; if (unlikely(0 < 0)) __PYX_ERR(0, 163, __pyx_L1_error) #else - __pyx_t_21 = PySequence_ITEM(__pyx_t_20, __pyx_t_27); __pyx_t_27++; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 162, __pyx_L1_error) + __pyx_t_21 = PySequence_ITEM(__pyx_t_20, __pyx_t_27); __pyx_t_27++; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 163, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); #endif } @@ -5400,7 +5441,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 162, __pyx_L1_error) + else __PYX_ERR(0, 163, __pyx_L1_error) } break; } @@ -5409,14 +5450,14 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj __Pyx_XDECREF_SET(__pyx_v_entry, __pyx_t_21); __pyx_t_21 = 0; - /* "nanovar/nv_bam_parser.pyx":163 + /* "nanovar/nv_bam_parser.pyx":164 * subdata = entry_parser(temp1, contig_collect, ovlt) * for entry in subdata: * total_subdata.append('\t'.join(entry.split('\t')[0:5])) # <<<<<<<<<<<<<< * # Add to base coverage * basecov += int(entry.split('\t')[2]) */ - __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_split); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 163, __pyx_L1_error) + __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_split); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 164, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_23))) { @@ -5430,28 +5471,28 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj } __pyx_t_21 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_23, __pyx_t_3, __pyx_kp_s__4) : __Pyx_PyObject_CallOneArg(__pyx_t_23, __pyx_kp_s__4); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 163, __pyx_L1_error) + if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 164, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; - __pyx_t_23 = __Pyx_PyObject_GetSlice(__pyx_t_21, 0, 5, NULL, NULL, &__pyx_slice__5, 1, 1, 1); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 163, __pyx_L1_error) + __pyx_t_23 = __Pyx_PyObject_GetSlice(__pyx_t_21, 0, 5, NULL, NULL, &__pyx_slice__5, 1, 1, 1); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 164, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - __pyx_t_21 = __Pyx_PyString_Join(__pyx_kp_s__4, __pyx_t_23); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 163, __pyx_L1_error) + __pyx_t_21 = __Pyx_PyString_Join(__pyx_kp_s__4, __pyx_t_23); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 164, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; - __pyx_t_22 = __Pyx_PyList_Append(__pyx_v_total_subdata, __pyx_t_21); if (unlikely(__pyx_t_22 == ((int)-1))) __PYX_ERR(0, 163, __pyx_L1_error) + __pyx_t_22 = __Pyx_PyList_Append(__pyx_v_total_subdata, __pyx_t_21); if (unlikely(__pyx_t_22 == ((int)-1))) __PYX_ERR(0, 164, __pyx_L1_error) __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - /* "nanovar/nv_bam_parser.pyx":165 + /* "nanovar/nv_bam_parser.pyx":166 * total_subdata.append('\t'.join(entry.split('\t')[0:5])) * # Add to base coverage * basecov += int(entry.split('\t')[2]) # <<<<<<<<<<<<<< * # SV detection * out1, out2 = sv_detect(subdata, splitpct, minalign, gapdict) */ - __pyx_t_21 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(__pyx_v_basecov); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 165, __pyx_L1_error) + __pyx_t_21 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(__pyx_v_basecov); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 165, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_13 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -5465,24 +5506,24 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj } __pyx_t_23 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_13, __pyx_kp_s__4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_s__4); __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 165, __pyx_L1_error) + if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_23, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 165, __pyx_L1_error) + __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_23, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; - __pyx_t_23 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 165, __pyx_L1_error) + __pyx_t_23 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_t_21, __pyx_t_23); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 165, __pyx_L1_error) + __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_t_21, __pyx_t_23); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; - __pyx_t_29 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_29 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 165, __pyx_L1_error) + __pyx_t_29 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_29 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 166, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_basecov = __pyx_t_29; - /* "nanovar/nv_bam_parser.pyx":162 + /* "nanovar/nv_bam_parser.pyx":163 * # Parse entries and correct overlap alignments * subdata = entry_parser(temp1, contig_collect, ovlt) * for entry in subdata: # <<<<<<<<<<<<<< @@ -5492,18 +5533,18 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj } __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - /* "nanovar/nv_bam_parser.pyx":167 + /* "nanovar/nv_bam_parser.pyx":168 * basecov += int(entry.split('\t')[2]) * # SV detection * out1, out2 = sv_detect(subdata, splitpct, minalign, gapdict) # <<<<<<<<<<<<<< * if out2 == '': * pass */ - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_sv_detect); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 167, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_sv_detect); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 168, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_23 = PyFloat_FromDouble(__pyx_v_splitpct); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 167, __pyx_L1_error) + __pyx_t_23 = PyFloat_FromDouble(__pyx_v_splitpct); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 168, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); - __pyx_t_21 = __Pyx_PyInt_From_unsigned_int(__pyx_v_minalign); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 167, __pyx_L1_error) + __pyx_t_21 = __Pyx_PyInt_From_unsigned_int(__pyx_v_minalign); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 168, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_13 = NULL; __pyx_t_26 = 0; @@ -5520,7 +5561,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[5] = {__pyx_t_13, __pyx_v_subdata, __pyx_t_23, __pyx_t_21, __pyx_v_gapdict}; - __pyx_t_20 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_26, 4+__pyx_t_26); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 167, __pyx_L1_error) + __pyx_t_20 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_26, 4+__pyx_t_26); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 168, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; @@ -5530,7 +5571,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[5] = {__pyx_t_13, __pyx_v_subdata, __pyx_t_23, __pyx_t_21, __pyx_v_gapdict}; - __pyx_t_20 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_26, 4+__pyx_t_26); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 167, __pyx_L1_error) + __pyx_t_20 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_26, 4+__pyx_t_26); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 168, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; @@ -5538,7 +5579,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj } else #endif { - __pyx_t_14 = PyTuple_New(4+__pyx_t_26); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 167, __pyx_L1_error) + __pyx_t_14 = PyTuple_New(4+__pyx_t_26); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 168, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (__pyx_t_13) { __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_13); __pyx_t_13 = NULL; @@ -5555,7 +5596,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj PyTuple_SET_ITEM(__pyx_t_14, 3+__pyx_t_26, __pyx_v_gapdict); __pyx_t_23 = 0; __pyx_t_21 = 0; - __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_14, NULL); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 167, __pyx_L1_error) + __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_14, NULL); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 168, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } @@ -5566,7 +5607,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 167, __pyx_L1_error) + __PYX_ERR(0, 168, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { @@ -5579,15 +5620,15 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(__pyx_t_14); #else - __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 167, __pyx_L1_error) + __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 168, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_14 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 167, __pyx_L1_error) + __pyx_t_14 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 168, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); #endif __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; } else { Py_ssize_t index = -1; - __pyx_t_21 = PyObject_GetIter(__pyx_t_20); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 167, __pyx_L1_error) + __pyx_t_21 = PyObject_GetIter(__pyx_t_20); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 168, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __pyx_t_15 = Py_TYPE(__pyx_t_21)->tp_iternext; @@ -5595,7 +5636,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj __Pyx_GOTREF(__pyx_t_3); index = 1; __pyx_t_14 = __pyx_t_15(__pyx_t_21); if (unlikely(!__pyx_t_14)) goto __pyx_L52_unpacking_failed; __Pyx_GOTREF(__pyx_t_14); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_15(__pyx_t_21), 2) < 0) __PYX_ERR(0, 167, __pyx_L1_error) + if (__Pyx_IternextUnpackEndCheck(__pyx_t_15(__pyx_t_21), 2) < 0) __PYX_ERR(0, 168, __pyx_L1_error) __pyx_t_15 = NULL; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; goto __pyx_L53_unpacking_done; @@ -5603,7 +5644,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_15 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 167, __pyx_L1_error) + __PYX_ERR(0, 168, __pyx_L1_error) __pyx_L53_unpacking_done:; } __Pyx_XDECREF_SET(__pyx_v_out1, __pyx_t_3); @@ -5611,19 +5652,19 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj __Pyx_XDECREF_SET(__pyx_v_out2, __pyx_t_14); __pyx_t_14 = 0; - /* "nanovar/nv_bam_parser.pyx":168 + /* "nanovar/nv_bam_parser.pyx":169 * # SV detection * out1, out2 = sv_detect(subdata, splitpct, minalign, gapdict) * if out2 == '': # <<<<<<<<<<<<<< * pass * else: */ - __pyx_t_28 = (__Pyx_PyString_Equals(__pyx_v_out2, __pyx_kp_s__3, Py_EQ)); if (unlikely(__pyx_t_28 < 0)) __PYX_ERR(0, 168, __pyx_L1_error) + __pyx_t_28 = (__Pyx_PyString_Equals(__pyx_v_out2, __pyx_kp_s__3, Py_EQ)); if (unlikely(__pyx_t_28 < 0)) __PYX_ERR(0, 169, __pyx_L1_error) if (__pyx_t_28) { goto __pyx_L54; } - /* "nanovar/nv_bam_parser.pyx":172 + /* "nanovar/nv_bam_parser.pyx":173 * else: * # Save for debug * detect_out.append(out2) # <<<<<<<<<<<<<< @@ -5631,20 +5672,20 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj * final = breakpoint_parser(out2, minlen, sig_index, seed, 'mm') */ /*else*/ { - __pyx_t_22 = __Pyx_PyList_Append(__pyx_v_detect_out, __pyx_v_out2); if (unlikely(__pyx_t_22 == ((int)-1))) __PYX_ERR(0, 172, __pyx_L1_error) + __pyx_t_22 = __Pyx_PyList_Append(__pyx_v_detect_out, __pyx_v_out2); if (unlikely(__pyx_t_22 == ((int)-1))) __PYX_ERR(0, 173, __pyx_L1_error) - /* "nanovar/nv_bam_parser.pyx":174 + /* "nanovar/nv_bam_parser.pyx":175 * detect_out.append(out2) * # Parse breakpoints * final = breakpoint_parser(out2, minlen, sig_index, seed, 'mm') # <<<<<<<<<<<<<< * total_out.extend(final) * for i in final: */ - __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_breakpoint_parser); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 174, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_breakpoint_parser); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 175, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); - __pyx_t_3 = __Pyx_PyInt_From_unsigned_int(__pyx_v_minlen); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 174, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyInt_From_unsigned_int(__pyx_v_minlen); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 175, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_21 = __Pyx_PyInt_From_unsigned_int(__pyx_v_seed); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 174, __pyx_L1_error) + __pyx_t_21 = __Pyx_PyInt_From_unsigned_int(__pyx_v_seed); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 175, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_23 = NULL; __pyx_t_26 = 0; @@ -5661,7 +5702,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_14)) { PyObject *__pyx_temp[6] = {__pyx_t_23, __pyx_v_out2, __pyx_t_3, __pyx_v_sig_index, __pyx_t_21, __pyx_n_s_mm}; - __pyx_t_20 = __Pyx_PyFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_26, 5+__pyx_t_26); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 174, __pyx_L1_error) + __pyx_t_20 = __Pyx_PyFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_26, 5+__pyx_t_26); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 175, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -5671,7 +5712,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_14)) { PyObject *__pyx_temp[6] = {__pyx_t_23, __pyx_v_out2, __pyx_t_3, __pyx_v_sig_index, __pyx_t_21, __pyx_n_s_mm}; - __pyx_t_20 = __Pyx_PyCFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_26, 5+__pyx_t_26); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 174, __pyx_L1_error) + __pyx_t_20 = __Pyx_PyCFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_26, 5+__pyx_t_26); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 175, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -5679,7 +5720,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj } else #endif { - __pyx_t_13 = PyTuple_New(5+__pyx_t_26); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 174, __pyx_L1_error) + __pyx_t_13 = PyTuple_New(5+__pyx_t_26); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 175, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); if (__pyx_t_23) { __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_23); __pyx_t_23 = NULL; @@ -5699,7 +5740,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj PyTuple_SET_ITEM(__pyx_t_13, 4+__pyx_t_26, __pyx_n_s_mm); __pyx_t_3 = 0; __pyx_t_21 = 0; - __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_13, NULL); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 174, __pyx_L1_error) + __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_13, NULL); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 175, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } @@ -5707,16 +5748,16 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj __Pyx_XDECREF_SET(__pyx_v_final, __pyx_t_20); __pyx_t_20 = 0; - /* "nanovar/nv_bam_parser.pyx":175 + /* "nanovar/nv_bam_parser.pyx":176 * # Parse breakpoints * final = breakpoint_parser(out2, minlen, sig_index, seed, 'mm') * total_out.extend(final) # <<<<<<<<<<<<<< * for i in final: * parse_dict[i.split('\t')[8]] = '\t'.join(i.split('\t')[0:5]) + '\tmm\t' + '\t'.join(i.split('\t')[6:]) */ - __pyx_t_22 = __Pyx_PyList_Extend(__pyx_v_total_out, __pyx_v_final); if (unlikely(__pyx_t_22 == ((int)-1))) __PYX_ERR(0, 175, __pyx_L1_error) + __pyx_t_22 = __Pyx_PyList_Extend(__pyx_v_total_out, __pyx_v_final); if (unlikely(__pyx_t_22 == ((int)-1))) __PYX_ERR(0, 176, __pyx_L1_error) - /* "nanovar/nv_bam_parser.pyx":176 + /* "nanovar/nv_bam_parser.pyx":177 * final = breakpoint_parser(out2, minlen, sig_index, seed, 'mm') * total_out.extend(final) * for i in final: # <<<<<<<<<<<<<< @@ -5727,26 +5768,26 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj __pyx_t_20 = __pyx_v_final; __Pyx_INCREF(__pyx_t_20); __pyx_t_27 = 0; __pyx_t_7 = NULL; } else { - __pyx_t_27 = -1; __pyx_t_20 = PyObject_GetIter(__pyx_v_final); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 176, __pyx_L1_error) + __pyx_t_27 = -1; __pyx_t_20 = PyObject_GetIter(__pyx_v_final); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); - __pyx_t_7 = Py_TYPE(__pyx_t_20)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 176, __pyx_L1_error) + __pyx_t_7 = Py_TYPE(__pyx_t_20)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 177, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_7)) { if (likely(PyList_CheckExact(__pyx_t_20))) { if (__pyx_t_27 >= PyList_GET_SIZE(__pyx_t_20)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_14 = PyList_GET_ITEM(__pyx_t_20, __pyx_t_27); __Pyx_INCREF(__pyx_t_14); __pyx_t_27++; if (unlikely(0 < 0)) __PYX_ERR(0, 176, __pyx_L1_error) + __pyx_t_14 = PyList_GET_ITEM(__pyx_t_20, __pyx_t_27); __Pyx_INCREF(__pyx_t_14); __pyx_t_27++; if (unlikely(0 < 0)) __PYX_ERR(0, 177, __pyx_L1_error) #else - __pyx_t_14 = PySequence_ITEM(__pyx_t_20, __pyx_t_27); __pyx_t_27++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 176, __pyx_L1_error) + __pyx_t_14 = PySequence_ITEM(__pyx_t_20, __pyx_t_27); __pyx_t_27++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); #endif } else { if (__pyx_t_27 >= PyTuple_GET_SIZE(__pyx_t_20)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_14 = PyTuple_GET_ITEM(__pyx_t_20, __pyx_t_27); __Pyx_INCREF(__pyx_t_14); __pyx_t_27++; if (unlikely(0 < 0)) __PYX_ERR(0, 176, __pyx_L1_error) + __pyx_t_14 = PyTuple_GET_ITEM(__pyx_t_20, __pyx_t_27); __Pyx_INCREF(__pyx_t_14); __pyx_t_27++; if (unlikely(0 < 0)) __PYX_ERR(0, 177, __pyx_L1_error) #else - __pyx_t_14 = PySequence_ITEM(__pyx_t_20, __pyx_t_27); __pyx_t_27++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 176, __pyx_L1_error) + __pyx_t_14 = PySequence_ITEM(__pyx_t_20, __pyx_t_27); __pyx_t_27++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); #endif } @@ -5756,7 +5797,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 176, __pyx_L1_error) + else __PYX_ERR(0, 177, __pyx_L1_error) } break; } @@ -5765,14 +5806,14 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_14); __pyx_t_14 = 0; - /* "nanovar/nv_bam_parser.pyx":177 + /* "nanovar/nv_bam_parser.pyx":178 * total_out.extend(final) * for i in final: * parse_dict[i.split('\t')[8]] = '\t'.join(i.split('\t')[0:5]) + '\tmm\t' + '\t'.join(i.split('\t')[6:]) # <<<<<<<<<<<<<< * return total_subdata, total_out, basecov, parse_dict, rlendict, len(repeat_dict), detect_out, seed * */ - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_i, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 177, __pyx_L1_error) + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_i, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_21 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { @@ -5786,19 +5827,19 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj } __pyx_t_14 = (__pyx_t_21) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_21, __pyx_kp_s__4) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_s__4); __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 177, __pyx_L1_error) + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = __Pyx_PyObject_GetSlice(__pyx_t_14, 0, 5, NULL, NULL, &__pyx_slice__5, 1, 1, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 177, __pyx_L1_error) + __pyx_t_13 = __Pyx_PyObject_GetSlice(__pyx_t_14, 0, 5, NULL, NULL, &__pyx_slice__5, 1, 1, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyString_Join(__pyx_kp_s__4, __pyx_t_13); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 177, __pyx_L1_error) + __pyx_t_14 = __Pyx_PyString_Join(__pyx_kp_s__4, __pyx_t_13); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = PyNumber_Add(__pyx_t_14, __pyx_kp_s_mm_2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 177, __pyx_L1_error) + __pyx_t_13 = PyNumber_Add(__pyx_t_14, __pyx_kp_s_mm_2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_i, __pyx_n_s_split); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 177, __pyx_L1_error) + __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_i, __pyx_n_s_split); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_21))) { @@ -5812,20 +5853,20 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj } __pyx_t_14 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_21, __pyx_t_3, __pyx_kp_s__4) : __Pyx_PyObject_CallOneArg(__pyx_t_21, __pyx_kp_s__4); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 177, __pyx_L1_error) + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - __pyx_t_21 = __Pyx_PyObject_GetSlice(__pyx_t_14, 6, 0, NULL, NULL, &__pyx_slice__6, 1, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 177, __pyx_L1_error) + __pyx_t_21 = __Pyx_PyObject_GetSlice(__pyx_t_14, 6, 0, NULL, NULL, &__pyx_slice__6, 1, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyString_Join(__pyx_kp_s__4, __pyx_t_21); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 177, __pyx_L1_error) + __pyx_t_14 = __Pyx_PyString_Join(__pyx_kp_s__4, __pyx_t_21); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - __pyx_t_21 = PyNumber_Add(__pyx_t_13, __pyx_t_14); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 177, __pyx_L1_error) + __pyx_t_21 = PyNumber_Add(__pyx_t_13, __pyx_t_14); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_i, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 177, __pyx_L1_error) + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_i, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { @@ -5839,17 +5880,17 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj } __pyx_t_14 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_3, __pyx_kp_s__4) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_s__4); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 177, __pyx_L1_error) + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_14, 8, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 177, __pyx_L1_error) + __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_14, 8, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_parse_dict, __pyx_t_13, __pyx_t_21) < 0)) __PYX_ERR(0, 177, __pyx_L1_error) + if (unlikely(PyDict_SetItem(__pyx_v_parse_dict, __pyx_t_13, __pyx_t_21) < 0)) __PYX_ERR(0, 178, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - /* "nanovar/nv_bam_parser.pyx":176 + /* "nanovar/nv_bam_parser.pyx":177 * final = breakpoint_parser(out2, minlen, sig_index, seed, 'mm') * total_out.extend(final) * for i in final: # <<<<<<<<<<<<<< @@ -5865,7 +5906,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj } __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; - /* "nanovar/nv_bam_parser.pyx":178 + /* "nanovar/nv_bam_parser.pyx":179 * for i in final: * parse_dict[i.split('\t')[8]] = '\t'.join(i.split('\t')[0:5]) + '\tmm\t' + '\t'.join(i.split('\t')[6:]) * return total_subdata, total_out, basecov, parse_dict, rlendict, len(repeat_dict), detect_out, seed # <<<<<<<<<<<<<< @@ -5873,14 +5914,14 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_25 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(__pyx_v_basecov); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 178, __pyx_L1_error) + __pyx_t_25 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(__pyx_v_basecov); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 179, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); - __pyx_t_12 = PyDict_Size(__pyx_v_repeat_dict); if (unlikely(__pyx_t_12 == ((Py_ssize_t)-1))) __PYX_ERR(0, 178, __pyx_L1_error) - __pyx_t_20 = PyInt_FromSsize_t(__pyx_t_12); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 178, __pyx_L1_error) + __pyx_t_12 = PyDict_Size(__pyx_v_repeat_dict); if (unlikely(__pyx_t_12 == ((Py_ssize_t)-1))) __PYX_ERR(0, 179, __pyx_L1_error) + __pyx_t_20 = PyInt_FromSsize_t(__pyx_t_12); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 179, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); - __pyx_t_21 = __Pyx_PyInt_From_unsigned_int(__pyx_v_seed); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 178, __pyx_L1_error) + __pyx_t_21 = __Pyx_PyInt_From_unsigned_int(__pyx_v_seed); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 179, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); - __pyx_t_13 = PyTuple_New(8); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 178, __pyx_L1_error) + __pyx_t_13 = PyTuple_New(8); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 179, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_INCREF(__pyx_v_total_subdata); __Pyx_GIVEREF(__pyx_v_total_subdata); @@ -5976,7 +6017,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_bam_parse(CYTHON_UNUSED PyObj return __pyx_r; } -/* "nanovar/nv_bam_parser.pyx":182 +/* "nanovar/nv_bam_parser.pyx":183 * * # Analyze CIGAR for Indels in segment and return read advancement call * cdef read_cigar(list cigar_tup, float minlen, float splitpct, unsigned int rstart, unsigned int rend, unsigned int readlen): # <<<<<<<<<<<<<< @@ -6016,7 +6057,7 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c int __pyx_t_13; __Pyx_RefNannySetupContext("read_cigar", 0); - /* "nanovar/nv_bam_parser.pyx":183 + /* "nanovar/nv_bam_parser.pyx":184 * # Analyze CIGAR for Indels in segment and return read advancement call * cdef read_cigar(list cigar_tup, float minlen, float splitpct, unsigned int rstart, unsigned int rend, unsigned int readlen): * cdef unsigned int qstart = 1 # <<<<<<<<<<<<<< @@ -6025,55 +6066,55 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c */ __pyx_v_qstart = 1; - /* "nanovar/nv_bam_parser.pyx":185 + /* "nanovar/nv_bam_parser.pyx":186 * cdef unsigned int qstart = 1 * cdef unsigned int softstart, softend, qlast, sstart, slast, dels, ins, b, v, t, move * cdef list qseg = [] # <<<<<<<<<<<<<< * cdef list sseg = [] * cdef list del_list = [] */ - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 185, __pyx_L1_error) + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 186, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_qseg = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "nanovar/nv_bam_parser.pyx":186 + /* "nanovar/nv_bam_parser.pyx":187 * cdef unsigned int softstart, softend, qlast, sstart, slast, dels, ins, b, v, t, move * cdef list qseg = [] * cdef list sseg = [] # <<<<<<<<<<<<<< * cdef list del_list = [] * cdef list ins_list = [] */ - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 186, __pyx_L1_error) + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 187, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_sseg = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "nanovar/nv_bam_parser.pyx":187 + /* "nanovar/nv_bam_parser.pyx":188 * cdef list qseg = [] * cdef list sseg = [] * cdef list del_list = [] # <<<<<<<<<<<<<< * cdef list ins_list = [] * */ - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 187, __pyx_L1_error) + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 188, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_del_list = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "nanovar/nv_bam_parser.pyx":188 + /* "nanovar/nv_bam_parser.pyx":189 * cdef list sseg = [] * cdef list del_list = [] * cdef list ins_list = [] # <<<<<<<<<<<<<< * * if cigar_tup[0][0] == 4 or cigar_tup[0][0] == 5: */ - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 188, __pyx_L1_error) + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 189, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_ins_list = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "nanovar/nv_bam_parser.pyx":190 + /* "nanovar/nv_bam_parser.pyx":191 * cdef list ins_list = [] * * if cigar_tup[0][0] == 4 or cigar_tup[0][0] == 5: # <<<<<<<<<<<<<< @@ -6082,17 +6123,17 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c */ if (unlikely(__pyx_v_cigar_tup == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 190, __pyx_L1_error) + __PYX_ERR(0, 191, __pyx_L1_error) } - __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_cigar_tup, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 190, __pyx_L1_error) + __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_cigar_tup, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 190, __pyx_L1_error) + __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_t_3, __pyx_int_4, 4, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 190, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_t_3, __pyx_int_4, 4, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 190, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 191, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!__pyx_t_4) { } else { @@ -6101,49 +6142,49 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c } if (unlikely(__pyx_v_cigar_tup == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 190, __pyx_L1_error) + __PYX_ERR(0, 191, __pyx_L1_error) } - __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_cigar_tup, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 190, __pyx_L1_error) + __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_cigar_tup, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 190, __pyx_L1_error) + __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_t_3, __pyx_int_5, 5, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 190, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_t_3, __pyx_int_5, 5, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 190, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 191, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_2 = __pyx_t_4; __pyx_L4_bool_binop_done:; if (__pyx_t_2) { - /* "nanovar/nv_bam_parser.pyx":191 + /* "nanovar/nv_bam_parser.pyx":192 * * if cigar_tup[0][0] == 4 or cigar_tup[0][0] == 5: * qstart += cigar_tup[0][1] # <<<<<<<<<<<<<< * softstart = cigar_tup[0][1] * else: */ - __pyx_t_1 = __Pyx_PyInt_From_unsigned_int(__pyx_v_qstart); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 191, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_From_unsigned_int(__pyx_v_qstart); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 192, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(__pyx_v_cigar_tup == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 191, __pyx_L1_error) + __PYX_ERR(0, 192, __pyx_L1_error) } - __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_cigar_tup, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 191, __pyx_L1_error) + __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_cigar_tup, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 192, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_3, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 191, __pyx_L1_error) + __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_3, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 192, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 191, __pyx_L1_error) + __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 192, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_6 = __Pyx_PyInt_As_unsigned_int(__pyx_t_3); if (unlikely((__pyx_t_6 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 191, __pyx_L1_error) + __pyx_t_6 = __Pyx_PyInt_As_unsigned_int(__pyx_t_3); if (unlikely((__pyx_t_6 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 192, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_qstart = __pyx_t_6; - /* "nanovar/nv_bam_parser.pyx":192 + /* "nanovar/nv_bam_parser.pyx":193 * if cigar_tup[0][0] == 4 or cigar_tup[0][0] == 5: * qstart += cigar_tup[0][1] * softstart = cigar_tup[0][1] # <<<<<<<<<<<<<< @@ -6152,18 +6193,18 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c */ if (unlikely(__pyx_v_cigar_tup == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 192, __pyx_L1_error) + __PYX_ERR(0, 193, __pyx_L1_error) } - __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_cigar_tup, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 192, __pyx_L1_error) + __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_cigar_tup, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 193, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_3, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 192, __pyx_L1_error) + __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_3, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 193, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_6 = __Pyx_PyInt_As_unsigned_int(__pyx_t_5); if (unlikely((__pyx_t_6 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 192, __pyx_L1_error) + __pyx_t_6 = __Pyx_PyInt_As_unsigned_int(__pyx_t_5); if (unlikely((__pyx_t_6 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 193, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_softstart = __pyx_t_6; - /* "nanovar/nv_bam_parser.pyx":190 + /* "nanovar/nv_bam_parser.pyx":191 * cdef list ins_list = [] * * if cigar_tup[0][0] == 4 or cigar_tup[0][0] == 5: # <<<<<<<<<<<<<< @@ -6173,7 +6214,7 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c goto __pyx_L3; } - /* "nanovar/nv_bam_parser.pyx":194 + /* "nanovar/nv_bam_parser.pyx":195 * softstart = cigar_tup[0][1] * else: * softstart = 0 # <<<<<<<<<<<<<< @@ -6185,7 +6226,7 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c } __pyx_L3:; - /* "nanovar/nv_bam_parser.pyx":195 + /* "nanovar/nv_bam_parser.pyx":196 * else: * softstart = 0 * if cigar_tup[-1][0] == 4 or cigar_tup[-1][0] == 5: # <<<<<<<<<<<<<< @@ -6194,17 +6235,17 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c */ if (unlikely(__pyx_v_cigar_tup == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 195, __pyx_L1_error) + __PYX_ERR(0, 196, __pyx_L1_error) } - __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_cigar_tup, -1L, long, 1, __Pyx_PyInt_From_long, 1, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 195, __pyx_L1_error) + __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_cigar_tup, -1L, long, 1, __Pyx_PyInt_From_long, 1, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 196, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_5, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 195, __pyx_L1_error) + __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_5, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 196, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyInt_EqObjC(__pyx_t_3, __pyx_int_4, 4, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 195, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyInt_EqObjC(__pyx_t_3, __pyx_int_4, 4, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 196, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 195, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 196, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (!__pyx_t_4) { } else { @@ -6213,23 +6254,23 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c } if (unlikely(__pyx_v_cigar_tup == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 195, __pyx_L1_error) + __PYX_ERR(0, 196, __pyx_L1_error) } - __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_cigar_tup, -1L, long, 1, __Pyx_PyInt_From_long, 1, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 195, __pyx_L1_error) + __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_cigar_tup, -1L, long, 1, __Pyx_PyInt_From_long, 1, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 196, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_5, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 195, __pyx_L1_error) + __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_5, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 196, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyInt_EqObjC(__pyx_t_3, __pyx_int_5, 5, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 195, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyInt_EqObjC(__pyx_t_3, __pyx_int_5, 5, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 196, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 195, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 196, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_2 = __pyx_t_4; __pyx_L7_bool_binop_done:; if (__pyx_t_2) { - /* "nanovar/nv_bam_parser.pyx":196 + /* "nanovar/nv_bam_parser.pyx":197 * softstart = 0 * if cigar_tup[-1][0] == 4 or cigar_tup[-1][0] == 5: * softend = cigar_tup[-1][1] # <<<<<<<<<<<<<< @@ -6238,18 +6279,18 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c */ if (unlikely(__pyx_v_cigar_tup == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 196, __pyx_L1_error) + __PYX_ERR(0, 197, __pyx_L1_error) } - __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_cigar_tup, -1L, long, 1, __Pyx_PyInt_From_long, 1, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 196, __pyx_L1_error) + __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_cigar_tup, -1L, long, 1, __Pyx_PyInt_From_long, 1, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 197, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_5, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 196, __pyx_L1_error) + __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_5, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 197, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_6 = __Pyx_PyInt_As_unsigned_int(__pyx_t_3); if (unlikely((__pyx_t_6 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 196, __pyx_L1_error) + __pyx_t_6 = __Pyx_PyInt_As_unsigned_int(__pyx_t_3); if (unlikely((__pyx_t_6 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 197, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_softend = __pyx_t_6; - /* "nanovar/nv_bam_parser.pyx":195 + /* "nanovar/nv_bam_parser.pyx":196 * else: * softstart = 0 * if cigar_tup[-1][0] == 4 or cigar_tup[-1][0] == 5: # <<<<<<<<<<<<<< @@ -6259,7 +6300,7 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c goto __pyx_L6; } - /* "nanovar/nv_bam_parser.pyx":198 + /* "nanovar/nv_bam_parser.pyx":199 * softend = cigar_tup[-1][1] * else: * softend = 0 # <<<<<<<<<<<<<< @@ -6271,7 +6312,7 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c } __pyx_L6:; - /* "nanovar/nv_bam_parser.pyx":199 + /* "nanovar/nv_bam_parser.pyx":200 * else: * softend = 0 * qlast, dels, ins = 0, 0, 0 # <<<<<<<<<<<<<< @@ -6285,7 +6326,7 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c __pyx_v_dels = __pyx_t_7; __pyx_v_ins = __pyx_t_8; - /* "nanovar/nv_bam_parser.pyx":200 + /* "nanovar/nv_bam_parser.pyx":201 * softend = 0 * qlast, dels, ins = 0, 0, 0 * sstart = rstart # <<<<<<<<<<<<<< @@ -6294,7 +6335,7 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c */ __pyx_v_sstart = __pyx_v_rstart; - /* "nanovar/nv_bam_parser.pyx":201 + /* "nanovar/nv_bam_parser.pyx":202 * qlast, dels, ins = 0, 0, 0 * sstart = rstart * slast = sstart - 1 # <<<<<<<<<<<<<< @@ -6303,7 +6344,7 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c */ __pyx_v_slast = (__pyx_v_sstart - 1); - /* "nanovar/nv_bam_parser.pyx":202 + /* "nanovar/nv_bam_parser.pyx":203 * sstart = rstart * slast = sstart - 1 * for t, move in cigar_tup: # <<<<<<<<<<<<<< @@ -6312,15 +6353,15 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c */ if (unlikely(__pyx_v_cigar_tup == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); - __PYX_ERR(0, 202, __pyx_L1_error) + __PYX_ERR(0, 203, __pyx_L1_error) } __pyx_t_3 = __pyx_v_cigar_tup; __Pyx_INCREF(__pyx_t_3); __pyx_t_9 = 0; for (;;) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_5 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_9); __Pyx_INCREF(__pyx_t_5); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 202, __pyx_L1_error) + __pyx_t_5 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_9); __Pyx_INCREF(__pyx_t_5); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 203, __pyx_L1_error) #else - __pyx_t_5 = PySequence_ITEM(__pyx_t_3, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 202, __pyx_L1_error) + __pyx_t_5 = PySequence_ITEM(__pyx_t_3, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 203, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif if ((likely(PyTuple_CheckExact(__pyx_t_5))) || (PyList_CheckExact(__pyx_t_5))) { @@ -6329,7 +6370,7 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 202, __pyx_L1_error) + __PYX_ERR(0, 203, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { @@ -6342,15 +6383,15 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(__pyx_t_10); #else - __pyx_t_1 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 202, __pyx_L1_error) + __pyx_t_1 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 203, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_10 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 202, __pyx_L1_error) + __pyx_t_10 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 203, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else { Py_ssize_t index = -1; - __pyx_t_11 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 202, __pyx_L1_error) + __pyx_t_11 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 203, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_12 = Py_TYPE(__pyx_t_11)->tp_iternext; @@ -6358,7 +6399,7 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c __Pyx_GOTREF(__pyx_t_1); index = 1; __pyx_t_10 = __pyx_t_12(__pyx_t_11); if (unlikely(!__pyx_t_10)) goto __pyx_L11_unpacking_failed; __Pyx_GOTREF(__pyx_t_10); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_12(__pyx_t_11), 2) < 0) __PYX_ERR(0, 202, __pyx_L1_error) + if (__Pyx_IternextUnpackEndCheck(__pyx_t_12(__pyx_t_11), 2) < 0) __PYX_ERR(0, 203, __pyx_L1_error) __pyx_t_12 = NULL; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; goto __pyx_L12_unpacking_done; @@ -6366,57 +6407,67 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_12 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 202, __pyx_L1_error) + __PYX_ERR(0, 203, __pyx_L1_error) __pyx_L12_unpacking_done:; } - __pyx_t_8 = __Pyx_PyInt_As_unsigned_int(__pyx_t_1); if (unlikely((__pyx_t_8 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 202, __pyx_L1_error) + __pyx_t_8 = __Pyx_PyInt_As_unsigned_int(__pyx_t_1); if (unlikely((__pyx_t_8 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 203, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_7 = __Pyx_PyInt_As_unsigned_int(__pyx_t_10); if (unlikely((__pyx_t_7 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 202, __pyx_L1_error) + __pyx_t_7 = __Pyx_PyInt_As_unsigned_int(__pyx_t_10); if (unlikely((__pyx_t_7 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 203, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_v_t = __pyx_t_8; __pyx_v_move = __pyx_t_7; - /* "nanovar/nv_bam_parser.pyx":203 + /* "nanovar/nv_bam_parser.pyx":204 * slast = sstart - 1 * for t, move in cigar_tup: * if t in (4, 5): # S or H # <<<<<<<<<<<<<< * qlast += move - * elif t == 0: # M + * elif t in (0, 7, 8): # M or = or X */ switch (__pyx_v_t) { case 4: case 5: - /* "nanovar/nv_bam_parser.pyx":204 + /* "nanovar/nv_bam_parser.pyx":205 * for t, move in cigar_tup: * if t in (4, 5): # S or H * qlast += move # <<<<<<<<<<<<<< - * elif t == 0: # M + * elif t in (0, 7, 8): # M or = or X * qlast += move */ __pyx_v_qlast = (__pyx_v_qlast + __pyx_v_move); - /* "nanovar/nv_bam_parser.pyx":203 + /* "nanovar/nv_bam_parser.pyx":204 * slast = sstart - 1 * for t, move in cigar_tup: * if t in (4, 5): # S or H # <<<<<<<<<<<<<< * qlast += move - * elif t == 0: # M + * elif t in (0, 7, 8): # M or = or X */ break; case 0: /* "nanovar/nv_bam_parser.pyx":206 + * if t in (4, 5): # S or H + * qlast += move + * elif t in (0, 7, 8): # M or = or X # <<<<<<<<<<<<<< + * qlast += move + * slast += move + */ + case 7: + case 8: + + /* "nanovar/nv_bam_parser.pyx":207 * qlast += move - * elif t == 0: # M + * elif t in (0, 7, 8): # M or = or X * qlast += move # <<<<<<<<<<<<<< * slast += move * elif t == 2: # D */ __pyx_v_qlast = (__pyx_v_qlast + __pyx_v_move); - /* "nanovar/nv_bam_parser.pyx":207 - * elif t == 0: # M + /* "nanovar/nv_bam_parser.pyx":208 + * elif t in (0, 7, 8): # M or = or X * qlast += move * slast += move # <<<<<<<<<<<<<< * elif t == 2: # D @@ -6424,17 +6475,17 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c */ __pyx_v_slast = (__pyx_v_slast + __pyx_v_move); - /* "nanovar/nv_bam_parser.pyx":205 + /* "nanovar/nv_bam_parser.pyx":206 * if t in (4, 5): # S or H * qlast += move - * elif t == 0: # M # <<<<<<<<<<<<<< + * elif t in (0, 7, 8): # M or = or X # <<<<<<<<<<<<<< * qlast += move * slast += move */ break; case 2: - /* "nanovar/nv_bam_parser.pyx":209 + /* "nanovar/nv_bam_parser.pyx":210 * slast += move * elif t == 2: # D * dels += move # <<<<<<<<<<<<<< @@ -6443,7 +6494,7 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c */ __pyx_v_dels = (__pyx_v_dels + __pyx_v_move); - /* "nanovar/nv_bam_parser.pyx":210 + /* "nanovar/nv_bam_parser.pyx":211 * elif t == 2: # D * dels += move * if move > minlen: # <<<<<<<<<<<<<< @@ -6453,18 +6504,18 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c __pyx_t_2 = ((__pyx_v_move > __pyx_v_minlen) != 0); if (__pyx_t_2) { - /* "nanovar/nv_bam_parser.pyx":211 + /* "nanovar/nv_bam_parser.pyx":212 * dels += move * if move > minlen: * qseg.append([qstart, qlast]) # <<<<<<<<<<<<<< * qstart = qlast + 1 * sseg.append([sstart, slast]) */ - __pyx_t_5 = __Pyx_PyInt_From_unsigned_int(__pyx_v_qstart); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 211, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyInt_From_unsigned_int(__pyx_v_qstart); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 212, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_10 = __Pyx_PyInt_From_unsigned_int(__pyx_v_qlast); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 211, __pyx_L1_error) + __pyx_t_10 = __Pyx_PyInt_From_unsigned_int(__pyx_v_qlast); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 212, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 211, __pyx_L1_error) + __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 212, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_t_5); @@ -6472,10 +6523,10 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c PyList_SET_ITEM(__pyx_t_1, 1, __pyx_t_10); __pyx_t_5 = 0; __pyx_t_10 = 0; - __pyx_t_13 = __Pyx_PyList_Append(__pyx_v_qseg, __pyx_t_1); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 211, __pyx_L1_error) + __pyx_t_13 = __Pyx_PyList_Append(__pyx_v_qseg, __pyx_t_1); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 212, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "nanovar/nv_bam_parser.pyx":212 + /* "nanovar/nv_bam_parser.pyx":213 * if move > minlen: * qseg.append([qstart, qlast]) * qstart = qlast + 1 # <<<<<<<<<<<<<< @@ -6484,18 +6535,18 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c */ __pyx_v_qstart = (__pyx_v_qlast + 1); - /* "nanovar/nv_bam_parser.pyx":213 + /* "nanovar/nv_bam_parser.pyx":214 * qseg.append([qstart, qlast]) * qstart = qlast + 1 * sseg.append([sstart, slast]) # <<<<<<<<<<<<<< * slast += move * sstart = slast + 1 */ - __pyx_t_1 = __Pyx_PyInt_From_unsigned_int(__pyx_v_sstart); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 213, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_From_unsigned_int(__pyx_v_sstart); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 214, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_10 = __Pyx_PyInt_From_unsigned_int(__pyx_v_slast); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 213, __pyx_L1_error) + __pyx_t_10 = __Pyx_PyInt_From_unsigned_int(__pyx_v_slast); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 214, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_5 = PyList_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 213, __pyx_L1_error) + __pyx_t_5 = PyList_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 214, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_1); PyList_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); @@ -6503,10 +6554,10 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c PyList_SET_ITEM(__pyx_t_5, 1, __pyx_t_10); __pyx_t_1 = 0; __pyx_t_10 = 0; - __pyx_t_13 = __Pyx_PyList_Append(__pyx_v_sseg, __pyx_t_5); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 213, __pyx_L1_error) + __pyx_t_13 = __Pyx_PyList_Append(__pyx_v_sseg, __pyx_t_5); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 214, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "nanovar/nv_bam_parser.pyx":214 + /* "nanovar/nv_bam_parser.pyx":215 * qstart = qlast + 1 * sseg.append([sstart, slast]) * slast += move # <<<<<<<<<<<<<< @@ -6515,7 +6566,7 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c */ __pyx_v_slast = (__pyx_v_slast + __pyx_v_move); - /* "nanovar/nv_bam_parser.pyx":215 + /* "nanovar/nv_bam_parser.pyx":216 * sseg.append([sstart, slast]) * slast += move * sstart = slast + 1 # <<<<<<<<<<<<<< @@ -6524,31 +6575,31 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c */ __pyx_v_sstart = (__pyx_v_slast + 1); - /* "nanovar/nv_bam_parser.pyx":216 + /* "nanovar/nv_bam_parser.pyx":217 * slast += move * sstart = slast + 1 * del_list.append(dels) # <<<<<<<<<<<<<< * ins_list.append(ins) * dels = 0 */ - __pyx_t_5 = __Pyx_PyInt_From_unsigned_int(__pyx_v_dels); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 216, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyInt_From_unsigned_int(__pyx_v_dels); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 217, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_13 = __Pyx_PyList_Append(__pyx_v_del_list, __pyx_t_5); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 216, __pyx_L1_error) + __pyx_t_13 = __Pyx_PyList_Append(__pyx_v_del_list, __pyx_t_5); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 217, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "nanovar/nv_bam_parser.pyx":217 + /* "nanovar/nv_bam_parser.pyx":218 * sstart = slast + 1 * del_list.append(dels) * ins_list.append(ins) # <<<<<<<<<<<<<< * dels = 0 * ins = 0 */ - __pyx_t_5 = __Pyx_PyInt_From_unsigned_int(__pyx_v_ins); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 217, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyInt_From_unsigned_int(__pyx_v_ins); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 218, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_13 = __Pyx_PyList_Append(__pyx_v_ins_list, __pyx_t_5); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 217, __pyx_L1_error) + __pyx_t_13 = __Pyx_PyList_Append(__pyx_v_ins_list, __pyx_t_5); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 218, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "nanovar/nv_bam_parser.pyx":218 + /* "nanovar/nv_bam_parser.pyx":219 * del_list.append(dels) * ins_list.append(ins) * dels = 0 # <<<<<<<<<<<<<< @@ -6557,7 +6608,7 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c */ __pyx_v_dels = 0; - /* "nanovar/nv_bam_parser.pyx":219 + /* "nanovar/nv_bam_parser.pyx":220 * ins_list.append(ins) * dels = 0 * ins = 0 # <<<<<<<<<<<<<< @@ -6566,7 +6617,7 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c */ __pyx_v_ins = 0; - /* "nanovar/nv_bam_parser.pyx":210 + /* "nanovar/nv_bam_parser.pyx":211 * elif t == 2: # D * dels += move * if move > minlen: # <<<<<<<<<<<<<< @@ -6576,7 +6627,7 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c goto __pyx_L13; } - /* "nanovar/nv_bam_parser.pyx":221 + /* "nanovar/nv_bam_parser.pyx":222 * ins = 0 * else: * slast += move # <<<<<<<<<<<<<< @@ -6588,7 +6639,7 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c } __pyx_L13:; - /* "nanovar/nv_bam_parser.pyx":208 + /* "nanovar/nv_bam_parser.pyx":209 * qlast += move * slast += move * elif t == 2: # D # <<<<<<<<<<<<<< @@ -6598,7 +6649,7 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c break; case 1: - /* "nanovar/nv_bam_parser.pyx":223 + /* "nanovar/nv_bam_parser.pyx":224 * slast += move * elif t == 1: # I * ins += move # <<<<<<<<<<<<<< @@ -6607,7 +6658,7 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c */ __pyx_v_ins = (__pyx_v_ins + __pyx_v_move); - /* "nanovar/nv_bam_parser.pyx":224 + /* "nanovar/nv_bam_parser.pyx":225 * elif t == 1: # I * ins += move * if move > minlen: # <<<<<<<<<<<<<< @@ -6617,18 +6668,18 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c __pyx_t_2 = ((__pyx_v_move > __pyx_v_minlen) != 0); if (__pyx_t_2) { - /* "nanovar/nv_bam_parser.pyx":225 + /* "nanovar/nv_bam_parser.pyx":226 * ins += move * if move > minlen: * qseg.append([qstart, qlast]) # <<<<<<<<<<<<<< * qlast += move * qstart = qlast + 1 */ - __pyx_t_5 = __Pyx_PyInt_From_unsigned_int(__pyx_v_qstart); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 225, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyInt_From_unsigned_int(__pyx_v_qstart); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 226, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_10 = __Pyx_PyInt_From_unsigned_int(__pyx_v_qlast); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 225, __pyx_L1_error) + __pyx_t_10 = __Pyx_PyInt_From_unsigned_int(__pyx_v_qlast); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 226, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 225, __pyx_L1_error) + __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 226, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_t_5); @@ -6636,10 +6687,10 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c PyList_SET_ITEM(__pyx_t_1, 1, __pyx_t_10); __pyx_t_5 = 0; __pyx_t_10 = 0; - __pyx_t_13 = __Pyx_PyList_Append(__pyx_v_qseg, __pyx_t_1); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 225, __pyx_L1_error) + __pyx_t_13 = __Pyx_PyList_Append(__pyx_v_qseg, __pyx_t_1); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 226, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "nanovar/nv_bam_parser.pyx":226 + /* "nanovar/nv_bam_parser.pyx":227 * if move > minlen: * qseg.append([qstart, qlast]) * qlast += move # <<<<<<<<<<<<<< @@ -6648,7 +6699,7 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c */ __pyx_v_qlast = (__pyx_v_qlast + __pyx_v_move); - /* "nanovar/nv_bam_parser.pyx":227 + /* "nanovar/nv_bam_parser.pyx":228 * qseg.append([qstart, qlast]) * qlast += move * qstart = qlast + 1 # <<<<<<<<<<<<<< @@ -6657,18 +6708,18 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c */ __pyx_v_qstart = (__pyx_v_qlast + 1); - /* "nanovar/nv_bam_parser.pyx":228 + /* "nanovar/nv_bam_parser.pyx":229 * qlast += move * qstart = qlast + 1 * sseg.append([sstart, slast]) # <<<<<<<<<<<<<< * sstart = slast + 1 * del_list.append(dels) */ - __pyx_t_1 = __Pyx_PyInt_From_unsigned_int(__pyx_v_sstart); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 228, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_From_unsigned_int(__pyx_v_sstart); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 229, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_10 = __Pyx_PyInt_From_unsigned_int(__pyx_v_slast); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 228, __pyx_L1_error) + __pyx_t_10 = __Pyx_PyInt_From_unsigned_int(__pyx_v_slast); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 229, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_5 = PyList_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 228, __pyx_L1_error) + __pyx_t_5 = PyList_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 229, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_1); PyList_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); @@ -6676,10 +6727,10 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c PyList_SET_ITEM(__pyx_t_5, 1, __pyx_t_10); __pyx_t_1 = 0; __pyx_t_10 = 0; - __pyx_t_13 = __Pyx_PyList_Append(__pyx_v_sseg, __pyx_t_5); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 228, __pyx_L1_error) + __pyx_t_13 = __Pyx_PyList_Append(__pyx_v_sseg, __pyx_t_5); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 229, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "nanovar/nv_bam_parser.pyx":229 + /* "nanovar/nv_bam_parser.pyx":230 * qstart = qlast + 1 * sseg.append([sstart, slast]) * sstart = slast + 1 # <<<<<<<<<<<<<< @@ -6688,31 +6739,31 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c */ __pyx_v_sstart = (__pyx_v_slast + 1); - /* "nanovar/nv_bam_parser.pyx":230 + /* "nanovar/nv_bam_parser.pyx":231 * sseg.append([sstart, slast]) * sstart = slast + 1 * del_list.append(dels) # <<<<<<<<<<<<<< * ins_list.append(ins) * dels = 0 */ - __pyx_t_5 = __Pyx_PyInt_From_unsigned_int(__pyx_v_dels); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 230, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyInt_From_unsigned_int(__pyx_v_dels); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 231, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_13 = __Pyx_PyList_Append(__pyx_v_del_list, __pyx_t_5); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 230, __pyx_L1_error) + __pyx_t_13 = __Pyx_PyList_Append(__pyx_v_del_list, __pyx_t_5); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 231, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "nanovar/nv_bam_parser.pyx":231 + /* "nanovar/nv_bam_parser.pyx":232 * sstart = slast + 1 * del_list.append(dels) * ins_list.append(ins) # <<<<<<<<<<<<<< * dels = 0 * ins = 0 */ - __pyx_t_5 = __Pyx_PyInt_From_unsigned_int(__pyx_v_ins); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 231, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyInt_From_unsigned_int(__pyx_v_ins); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 232, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_13 = __Pyx_PyList_Append(__pyx_v_ins_list, __pyx_t_5); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 231, __pyx_L1_error) + __pyx_t_13 = __Pyx_PyList_Append(__pyx_v_ins_list, __pyx_t_5); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 232, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "nanovar/nv_bam_parser.pyx":232 + /* "nanovar/nv_bam_parser.pyx":233 * del_list.append(dels) * ins_list.append(ins) * dels = 0 # <<<<<<<<<<<<<< @@ -6721,7 +6772,7 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c */ __pyx_v_dels = 0; - /* "nanovar/nv_bam_parser.pyx":233 + /* "nanovar/nv_bam_parser.pyx":234 * ins_list.append(ins) * dels = 0 * ins = 0 # <<<<<<<<<<<<<< @@ -6730,7 +6781,7 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c */ __pyx_v_ins = 0; - /* "nanovar/nv_bam_parser.pyx":224 + /* "nanovar/nv_bam_parser.pyx":225 * elif t == 1: # I * ins += move * if move > minlen: # <<<<<<<<<<<<<< @@ -6740,7 +6791,7 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c goto __pyx_L14; } - /* "nanovar/nv_bam_parser.pyx":235 + /* "nanovar/nv_bam_parser.pyx":236 * ins = 0 * else: * qlast += move # <<<<<<<<<<<<<< @@ -6752,7 +6803,7 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c } __pyx_L14:; - /* "nanovar/nv_bam_parser.pyx":222 + /* "nanovar/nv_bam_parser.pyx":223 * else: * slast += move * elif t == 1: # I # <<<<<<<<<<<<<< @@ -6762,21 +6813,21 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c break; default: - /* "nanovar/nv_bam_parser.pyx":237 + /* "nanovar/nv_bam_parser.pyx":238 * qlast += move * else: * logging.critical('Error: Unrecognized CIGAR translated symbol "%s"' % t) # <<<<<<<<<<<<<< * raise Exception('Error: Unrecognized CIGAR translated symbol "%s"' % t) * # Last segment */ - __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_logging); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 237, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_logging); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_critical); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 237, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_critical); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = __Pyx_PyInt_From_unsigned_int(__pyx_v_t); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 237, __pyx_L1_error) + __pyx_t_10 = __Pyx_PyInt_From_unsigned_int(__pyx_v_t); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_11 = __Pyx_PyString_Format(__pyx_kp_s_Error_Unrecognized_CIGAR_transla, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 237, __pyx_L1_error) + __pyx_t_11 = __Pyx_PyString_Format(__pyx_kp_s_Error_Unrecognized_CIGAR_transla, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = NULL; @@ -6792,33 +6843,33 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c __pyx_t_5 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_10, __pyx_t_11) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_11); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 237, __pyx_L1_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "nanovar/nv_bam_parser.pyx":238 + /* "nanovar/nv_bam_parser.pyx":239 * else: * logging.critical('Error: Unrecognized CIGAR translated symbol "%s"' % t) * raise Exception('Error: Unrecognized CIGAR translated symbol "%s"' % t) # <<<<<<<<<<<<<< * # Last segment * qseg.append([qstart, qlast - softend]) */ - __pyx_t_5 = __Pyx_PyInt_From_unsigned_int(__pyx_v_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 238, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyInt_From_unsigned_int(__pyx_v_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_Error_Unrecognized_CIGAR_transla, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 238, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_Error_Unrecognized_CIGAR_transla, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])), __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 238, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])), __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __PYX_ERR(0, 238, __pyx_L1_error) + __PYX_ERR(0, 239, __pyx_L1_error) break; } - /* "nanovar/nv_bam_parser.pyx":202 + /* "nanovar/nv_bam_parser.pyx":203 * sstart = rstart * slast = sstart - 1 * for t, move in cigar_tup: # <<<<<<<<<<<<<< @@ -6828,18 +6879,18 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "nanovar/nv_bam_parser.pyx":240 + /* "nanovar/nv_bam_parser.pyx":241 * raise Exception('Error: Unrecognized CIGAR translated symbol "%s"' % t) * # Last segment * qseg.append([qstart, qlast - softend]) # <<<<<<<<<<<<<< * sseg.append([sstart, slast]) * del_list.append(dels) */ - __pyx_t_3 = __Pyx_PyInt_From_unsigned_int(__pyx_v_qstart); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 240, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyInt_From_unsigned_int(__pyx_v_qstart); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 241, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyInt_From_unsigned_int((__pyx_v_qlast - __pyx_v_softend)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 240, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyInt_From_unsigned_int((__pyx_v_qlast - __pyx_v_softend)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 241, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 240, __pyx_L1_error) + __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 241, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_3); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); @@ -6847,21 +6898,21 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c PyList_SET_ITEM(__pyx_t_1, 1, __pyx_t_5); __pyx_t_3 = 0; __pyx_t_5 = 0; - __pyx_t_13 = __Pyx_PyList_Append(__pyx_v_qseg, __pyx_t_1); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 240, __pyx_L1_error) + __pyx_t_13 = __Pyx_PyList_Append(__pyx_v_qseg, __pyx_t_1); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 241, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "nanovar/nv_bam_parser.pyx":241 + /* "nanovar/nv_bam_parser.pyx":242 * # Last segment * qseg.append([qstart, qlast - softend]) * sseg.append([sstart, slast]) # <<<<<<<<<<<<<< * del_list.append(dels) * ins_list.append(ins) */ - __pyx_t_1 = __Pyx_PyInt_From_unsigned_int(__pyx_v_sstart); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 241, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_From_unsigned_int(__pyx_v_sstart); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 242, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_From_unsigned_int(__pyx_v_slast); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 241, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyInt_From_unsigned_int(__pyx_v_slast); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 242, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = PyList_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 241, __pyx_L1_error) + __pyx_t_3 = PyList_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 242, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_1); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); @@ -6869,45 +6920,45 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c PyList_SET_ITEM(__pyx_t_3, 1, __pyx_t_5); __pyx_t_1 = 0; __pyx_t_5 = 0; - __pyx_t_13 = __Pyx_PyList_Append(__pyx_v_sseg, __pyx_t_3); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 241, __pyx_L1_error) + __pyx_t_13 = __Pyx_PyList_Append(__pyx_v_sseg, __pyx_t_3); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 242, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "nanovar/nv_bam_parser.pyx":242 + /* "nanovar/nv_bam_parser.pyx":243 * qseg.append([qstart, qlast - softend]) * sseg.append([sstart, slast]) * del_list.append(dels) # <<<<<<<<<<<<<< * ins_list.append(ins) * if len(qseg) == 1: */ - __pyx_t_3 = __Pyx_PyInt_From_unsigned_int(__pyx_v_dels); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 242, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyInt_From_unsigned_int(__pyx_v_dels); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 243, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_13 = __Pyx_PyList_Append(__pyx_v_del_list, __pyx_t_3); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 242, __pyx_L1_error) + __pyx_t_13 = __Pyx_PyList_Append(__pyx_v_del_list, __pyx_t_3); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 243, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "nanovar/nv_bam_parser.pyx":243 + /* "nanovar/nv_bam_parser.pyx":244 * sseg.append([sstart, slast]) * del_list.append(dels) * ins_list.append(ins) # <<<<<<<<<<<<<< * if len(qseg) == 1: * if softstart > splitpct * readlen or softend > splitpct * readlen: */ - __pyx_t_3 = __Pyx_PyInt_From_unsigned_int(__pyx_v_ins); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 243, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyInt_From_unsigned_int(__pyx_v_ins); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 244, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_13 = __Pyx_PyList_Append(__pyx_v_ins_list, __pyx_t_3); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 243, __pyx_L1_error) + __pyx_t_13 = __Pyx_PyList_Append(__pyx_v_ins_list, __pyx_t_3); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 244, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "nanovar/nv_bam_parser.pyx":244 + /* "nanovar/nv_bam_parser.pyx":245 * del_list.append(dels) * ins_list.append(ins) * if len(qseg) == 1: # <<<<<<<<<<<<<< * if softstart > splitpct * readlen or softend > splitpct * readlen: * return True, qseg, sseg, del_list, ins_list */ - __pyx_t_9 = PyList_GET_SIZE(__pyx_v_qseg); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 244, __pyx_L1_error) + __pyx_t_9 = PyList_GET_SIZE(__pyx_v_qseg); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 245, __pyx_L1_error) __pyx_t_2 = ((__pyx_t_9 == 1) != 0); if (__pyx_t_2) { - /* "nanovar/nv_bam_parser.pyx":245 + /* "nanovar/nv_bam_parser.pyx":246 * ins_list.append(ins) * if len(qseg) == 1: * if softstart > splitpct * readlen or softend > splitpct * readlen: # <<<<<<<<<<<<<< @@ -6925,7 +6976,7 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c __pyx_L17_bool_binop_done:; if (__pyx_t_2) { - /* "nanovar/nv_bam_parser.pyx":246 + /* "nanovar/nv_bam_parser.pyx":247 * if len(qseg) == 1: * if softstart > splitpct * readlen or softend > splitpct * readlen: * return True, qseg, sseg, del_list, ins_list # <<<<<<<<<<<<<< @@ -6933,7 +6984,7 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c * return False, qseg, sseg, del_list, ins_list */ __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = PyTuple_New(5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 246, __pyx_L1_error) + __pyx_t_3 = PyTuple_New(5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 247, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(Py_True); __Pyx_GIVEREF(Py_True); @@ -6954,7 +7005,7 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c __pyx_t_3 = 0; goto __pyx_L0; - /* "nanovar/nv_bam_parser.pyx":245 + /* "nanovar/nv_bam_parser.pyx":246 * ins_list.append(ins) * if len(qseg) == 1: * if softstart > splitpct * readlen or softend > splitpct * readlen: # <<<<<<<<<<<<<< @@ -6963,7 +7014,7 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c */ } - /* "nanovar/nv_bam_parser.pyx":248 + /* "nanovar/nv_bam_parser.pyx":249 * return True, qseg, sseg, del_list, ins_list * else: * return False, qseg, sseg, del_list, ins_list # <<<<<<<<<<<<<< @@ -6972,7 +7023,7 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c */ /*else*/ { __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = PyTuple_New(5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 248, __pyx_L1_error) + __pyx_t_3 = PyTuple_New(5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 249, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(Py_False); __Pyx_GIVEREF(Py_False); @@ -6994,7 +7045,7 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c goto __pyx_L0; } - /* "nanovar/nv_bam_parser.pyx":244 + /* "nanovar/nv_bam_parser.pyx":245 * del_list.append(dels) * ins_list.append(ins) * if len(qseg) == 1: # <<<<<<<<<<<<<< @@ -7003,7 +7054,7 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c */ } - /* "nanovar/nv_bam_parser.pyx":250 + /* "nanovar/nv_bam_parser.pyx":251 * return False, qseg, sseg, del_list, ins_list * else: * return True, qseg, sseg, del_list, ins_list # <<<<<<<<<<<<<< @@ -7012,7 +7063,7 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c */ /*else*/ { __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = PyTuple_New(5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 250, __pyx_L1_error) + __pyx_t_3 = PyTuple_New(5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 251, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(Py_True); __Pyx_GIVEREF(Py_True); @@ -7034,7 +7085,7 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c goto __pyx_L0; } - /* "nanovar/nv_bam_parser.pyx":182 + /* "nanovar/nv_bam_parser.pyx":183 * * # Analyze CIGAR for Indels in segment and return read advancement call * cdef read_cigar(list cigar_tup, float minlen, float splitpct, unsigned int rstart, unsigned int rend, unsigned int readlen): # <<<<<<<<<<<<<< @@ -7061,7 +7112,7 @@ static PyObject *__pyx_f_7nanovar_13nv_bam_parser_read_cigar(PyObject *__pyx_v_c return __pyx_r; } -/* "nanovar/nv_bam_parser.pyx":254 +/* "nanovar/nv_bam_parser.pyx":255 * * * def info_parse(qname, rname, readlen, qlen, flag, nm, total_score, qseg, sseg, del_list, ins_list, minlen=200): # <<<<<<<<<<<<<< @@ -7132,61 +7183,61 @@ static PyObject *__pyx_pw_7nanovar_13nv_bam_parser_3info_parse(PyObject *__pyx_s case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_rname)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("info_parse", 0, 11, 12, 1); __PYX_ERR(0, 254, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("info_parse", 0, 11, 12, 1); __PYX_ERR(0, 255, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_readlen)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("info_parse", 0, 11, 12, 2); __PYX_ERR(0, 254, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("info_parse", 0, 11, 12, 2); __PYX_ERR(0, 255, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_qlen)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("info_parse", 0, 11, 12, 3); __PYX_ERR(0, 254, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("info_parse", 0, 11, 12, 3); __PYX_ERR(0, 255, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 4: if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flag)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("info_parse", 0, 11, 12, 4); __PYX_ERR(0, 254, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("info_parse", 0, 11, 12, 4); __PYX_ERR(0, 255, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 5: if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nm)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("info_parse", 0, 11, 12, 5); __PYX_ERR(0, 254, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("info_parse", 0, 11, 12, 5); __PYX_ERR(0, 255, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 6: if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_total_score)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("info_parse", 0, 11, 12, 6); __PYX_ERR(0, 254, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("info_parse", 0, 11, 12, 6); __PYX_ERR(0, 255, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 7: if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_qseg)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("info_parse", 0, 11, 12, 7); __PYX_ERR(0, 254, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("info_parse", 0, 11, 12, 7); __PYX_ERR(0, 255, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 8: if (likely((values[8] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_sseg)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("info_parse", 0, 11, 12, 8); __PYX_ERR(0, 254, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("info_parse", 0, 11, 12, 8); __PYX_ERR(0, 255, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 9: if (likely((values[9] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_del_list)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("info_parse", 0, 11, 12, 9); __PYX_ERR(0, 254, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("info_parse", 0, 11, 12, 9); __PYX_ERR(0, 255, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 10: if (likely((values[10] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ins_list)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("info_parse", 0, 11, 12, 10); __PYX_ERR(0, 254, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("info_parse", 0, 11, 12, 10); __PYX_ERR(0, 255, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 11: @@ -7196,7 +7247,7 @@ static PyObject *__pyx_pw_7nanovar_13nv_bam_parser_3info_parse(PyObject *__pyx_s } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "info_parse") < 0)) __PYX_ERR(0, 254, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "info_parse") < 0)) __PYX_ERR(0, 255, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -7232,7 +7283,7 @@ static PyObject *__pyx_pw_7nanovar_13nv_bam_parser_3info_parse(PyObject *__pyx_s } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("info_parse", 0, 11, 12, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 254, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("info_parse", 0, 11, 12, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 255, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("nanovar.nv_bam_parser.info_parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -7290,51 +7341,51 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_2info_parse(CYTHON_UNUSED PyO int __pyx_t_16; __Pyx_RefNannySetupContext("info_parse", 0); - /* "nanovar/nv_bam_parser.pyx":255 + /* "nanovar/nv_bam_parser.pyx":256 * * def info_parse(qname, rname, readlen, qlen, flag, nm, total_score, qseg, sseg, del_list, ins_list, minlen=200): * lines = [] # <<<<<<<<<<<<<< * total_del = sum([x for x in del_list]) * total_ins = sum([x for x in ins_list]) */ - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 255, __pyx_L1_error) + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 256, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_lines = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "nanovar/nv_bam_parser.pyx":256 + /* "nanovar/nv_bam_parser.pyx":257 * def info_parse(qname, rname, readlen, qlen, flag, nm, total_score, qseg, sseg, del_list, ins_list, minlen=200): * lines = [] * total_del = sum([x for x in del_list]) # <<<<<<<<<<<<<< * total_ins = sum([x for x in ins_list]) * total_gap = total_del + total_ins */ - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 256, __pyx_L1_error) + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 257, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_v_del_list)) || PyTuple_CheckExact(__pyx_v_del_list)) { __pyx_t_2 = __pyx_v_del_list; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0; __pyx_t_4 = NULL; } else { - __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_del_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 256, __pyx_L1_error) + __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_del_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 257, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 256, __pyx_L1_error) + __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 257, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_4)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_5 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_5); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 256, __pyx_L1_error) + __pyx_t_5 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_5); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 257, __pyx_L1_error) #else - __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 256, __pyx_L1_error) + __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 257, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_5); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 256, __pyx_L1_error) + __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_5); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 257, __pyx_L1_error) #else - __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 256, __pyx_L1_error) + __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 257, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } @@ -7344,7 +7395,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_2info_parse(CYTHON_UNUSED PyO PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 256, __pyx_L1_error) + else __PYX_ERR(0, 257, __pyx_L1_error) } break; } @@ -7352,48 +7403,48 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_2info_parse(CYTHON_UNUSED PyO } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_5); __pyx_t_5 = 0; - if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_v_x))) __PYX_ERR(0, 256, __pyx_L1_error) + if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_v_x))) __PYX_ERR(0, 257, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_sum, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 256, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_sum, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 257, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_total_del = __pyx_t_2; __pyx_t_2 = 0; - /* "nanovar/nv_bam_parser.pyx":257 + /* "nanovar/nv_bam_parser.pyx":258 * lines = [] * total_del = sum([x for x in del_list]) * total_ins = sum([x for x in ins_list]) # <<<<<<<<<<<<<< * total_gap = total_del + total_ins * total_mismatch = nm - total_gap */ - __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 257, __pyx_L1_error) + __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 258, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (likely(PyList_CheckExact(__pyx_v_ins_list)) || PyTuple_CheckExact(__pyx_v_ins_list)) { __pyx_t_1 = __pyx_v_ins_list; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = 0; __pyx_t_4 = NULL; } else { - __pyx_t_3 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_ins_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 257, __pyx_L1_error) + __pyx_t_3 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_ins_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 258, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 257, __pyx_L1_error) + __pyx_t_4 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 258, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_4)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_5 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_5); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 257, __pyx_L1_error) + __pyx_t_5 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_5); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 258, __pyx_L1_error) #else - __pyx_t_5 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 257, __pyx_L1_error) + __pyx_t_5 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 258, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_5); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 257, __pyx_L1_error) + __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_5); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 258, __pyx_L1_error) #else - __pyx_t_5 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 257, __pyx_L1_error) + __pyx_t_5 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 258, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } @@ -7403,7 +7454,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_2info_parse(CYTHON_UNUSED PyO PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 257, __pyx_L1_error) + else __PYX_ERR(0, 258, __pyx_L1_error) } break; } @@ -7411,62 +7462,62 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_2info_parse(CYTHON_UNUSED PyO } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_5); __pyx_t_5 = 0; - if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_v_x))) __PYX_ERR(0, 257, __pyx_L1_error) + if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_v_x))) __PYX_ERR(0, 258, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_sum, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 257, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_sum, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 258, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_total_ins = __pyx_t_1; __pyx_t_1 = 0; - /* "nanovar/nv_bam_parser.pyx":258 + /* "nanovar/nv_bam_parser.pyx":259 * total_del = sum([x for x in del_list]) * total_ins = sum([x for x in ins_list]) * total_gap = total_del + total_ins # <<<<<<<<<<<<<< * total_mismatch = nm - total_gap * nsegs = len(qseg) */ - __pyx_t_1 = PyNumber_Add(__pyx_v_total_del, __pyx_v_total_ins); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 258, __pyx_L1_error) + __pyx_t_1 = PyNumber_Add(__pyx_v_total_del, __pyx_v_total_ins); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 259, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_total_gap = __pyx_t_1; __pyx_t_1 = 0; - /* "nanovar/nv_bam_parser.pyx":259 + /* "nanovar/nv_bam_parser.pyx":260 * total_ins = sum([x for x in ins_list]) * total_gap = total_del + total_ins * total_mismatch = nm - total_gap # <<<<<<<<<<<<<< * nsegs = len(qseg) * contig_collect = [] */ - __pyx_t_1 = PyNumber_Subtract(__pyx_v_nm, __pyx_v_total_gap); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 259, __pyx_L1_error) + __pyx_t_1 = PyNumber_Subtract(__pyx_v_nm, __pyx_v_total_gap); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 260, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_total_mismatch = __pyx_t_1; __pyx_t_1 = 0; - /* "nanovar/nv_bam_parser.pyx":260 + /* "nanovar/nv_bam_parser.pyx":261 * total_gap = total_del + total_ins * total_mismatch = nm - total_gap * nsegs = len(qseg) # <<<<<<<<<<<<<< * contig_collect = [] * for i in range(nsegs): */ - __pyx_t_3 = PyObject_Length(__pyx_v_qseg); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(0, 260, __pyx_L1_error) + __pyx_t_3 = PyObject_Length(__pyx_v_qseg); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(0, 261, __pyx_L1_error) __pyx_v_nsegs = __pyx_t_3; - /* "nanovar/nv_bam_parser.pyx":261 + /* "nanovar/nv_bam_parser.pyx":262 * total_mismatch = nm - total_gap * nsegs = len(qseg) * contig_collect = [] # <<<<<<<<<<<<<< * for i in range(nsegs): * substart = sseg[i][0] */ - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 261, __pyx_L1_error) + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 262, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_contig_collect = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "nanovar/nv_bam_parser.pyx":262 + /* "nanovar/nv_bam_parser.pyx":263 * nsegs = len(qseg) * contig_collect = [] * for i in range(nsegs): # <<<<<<<<<<<<<< @@ -7478,58 +7529,58 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_2info_parse(CYTHON_UNUSED PyO for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i = __pyx_t_7; - /* "nanovar/nv_bam_parser.pyx":263 + /* "nanovar/nv_bam_parser.pyx":264 * contig_collect = [] * for i in range(nsegs): * substart = sseg[i][0] # <<<<<<<<<<<<<< * substretch = sseg[i][1] - sseg[i][0] * if substretch < minlen: */ - __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_sseg, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 263, __pyx_L1_error) + __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_sseg, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 264, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 263, __pyx_L1_error) + __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 264, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF_SET(__pyx_v_substart, __pyx_t_2); __pyx_t_2 = 0; - /* "nanovar/nv_bam_parser.pyx":264 + /* "nanovar/nv_bam_parser.pyx":265 * for i in range(nsegs): * substart = sseg[i][0] * substretch = sseg[i][1] - sseg[i][0] # <<<<<<<<<<<<<< * if substretch < minlen: * continue */ - __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_sseg, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 264, __pyx_L1_error) + __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_sseg, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 265, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 264, __pyx_L1_error) + __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 265, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_sseg, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 264, __pyx_L1_error) + __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_sseg, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 265, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 264, __pyx_L1_error) + __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 265, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyNumber_Subtract(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 264, __pyx_L1_error) + __pyx_t_2 = PyNumber_Subtract(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 265, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF_SET(__pyx_v_substretch, __pyx_t_2); __pyx_t_2 = 0; - /* "nanovar/nv_bam_parser.pyx":265 + /* "nanovar/nv_bam_parser.pyx":266 * substart = sseg[i][0] * substretch = sseg[i][1] - sseg[i][0] * if substretch < minlen: # <<<<<<<<<<<<<< * continue * qstart, qstretch, strand = query_sign(qseg[i][0], qseg[i][1], flag, readlen) */ - __pyx_t_2 = PyObject_RichCompare(__pyx_v_substretch, __pyx_v_minlen, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 265, __pyx_L1_error) - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 265, __pyx_L1_error) + __pyx_t_2 = PyObject_RichCompare(__pyx_v_substretch, __pyx_v_minlen, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 266, __pyx_L1_error) + __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 266, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_8) { - /* "nanovar/nv_bam_parser.pyx":266 + /* "nanovar/nv_bam_parser.pyx":267 * substretch = sseg[i][1] - sseg[i][0] * if substretch < minlen: * continue # <<<<<<<<<<<<<< @@ -7538,7 +7589,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_2info_parse(CYTHON_UNUSED PyO */ goto __pyx_L7_continue; - /* "nanovar/nv_bam_parser.pyx":265 + /* "nanovar/nv_bam_parser.pyx":266 * substart = sseg[i][0] * substretch = sseg[i][1] - sseg[i][0] * if substretch < minlen: # <<<<<<<<<<<<<< @@ -7547,23 +7598,23 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_2info_parse(CYTHON_UNUSED PyO */ } - /* "nanovar/nv_bam_parser.pyx":267 + /* "nanovar/nv_bam_parser.pyx":268 * if substretch < minlen: * continue * qstart, qstretch, strand = query_sign(qseg[i][0], qseg[i][1], flag, readlen) # <<<<<<<<<<<<<< * ndel = del_list[i] * nins = ins_list[i] */ - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_query_sign); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 267, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_query_sign); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_qseg, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 267, __pyx_L1_error) + __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_qseg, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_9 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 267, __pyx_L1_error) + __pyx_t_9 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_qseg, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 267, __pyx_L1_error) + __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_qseg, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_10 = __Pyx_GetItemInt(__pyx_t_1, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 267, __pyx_L1_error) + __pyx_t_10 = __Pyx_GetItemInt(__pyx_t_1, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; @@ -7581,7 +7632,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_2info_parse(CYTHON_UNUSED PyO #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[5] = {__pyx_t_1, __pyx_t_9, __pyx_t_10, __pyx_v_flag, __pyx_v_readlen}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_11, 4+__pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 267, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_11, 4+__pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 268, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; @@ -7591,7 +7642,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_2info_parse(CYTHON_UNUSED PyO #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[5] = {__pyx_t_1, __pyx_t_9, __pyx_t_10, __pyx_v_flag, __pyx_v_readlen}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_11, 4+__pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 267, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_11, 4+__pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 268, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; @@ -7599,7 +7650,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_2info_parse(CYTHON_UNUSED PyO } else #endif { - __pyx_t_12 = PyTuple_New(4+__pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 267, __pyx_L1_error) + __pyx_t_12 = PyTuple_New(4+__pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_1); __pyx_t_1 = NULL; @@ -7616,7 +7667,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_2info_parse(CYTHON_UNUSED PyO PyTuple_SET_ITEM(__pyx_t_12, 3+__pyx_t_11, __pyx_v_readlen); __pyx_t_9 = 0; __pyx_t_10 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_12, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 267, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_12, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } @@ -7627,7 +7678,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_2info_parse(CYTHON_UNUSED PyO if (unlikely(size != 3)) { if (size > 3) __Pyx_RaiseTooManyValuesError(3); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 267, __pyx_L1_error) + __PYX_ERR(0, 268, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { @@ -7643,17 +7694,17 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_2info_parse(CYTHON_UNUSED PyO __Pyx_INCREF(__pyx_t_12); __Pyx_INCREF(__pyx_t_10); #else - __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 267, __pyx_L1_error) + __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_12 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 267, __pyx_L1_error) + __pyx_t_12 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); - __pyx_t_10 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 267, __pyx_L1_error) + __pyx_t_10 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else { Py_ssize_t index = -1; - __pyx_t_9 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 267, __pyx_L1_error) + __pyx_t_9 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_13 = Py_TYPE(__pyx_t_9)->tp_iternext; @@ -7663,7 +7714,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_2info_parse(CYTHON_UNUSED PyO __Pyx_GOTREF(__pyx_t_12); index = 2; __pyx_t_10 = __pyx_t_13(__pyx_t_9); if (unlikely(!__pyx_t_10)) goto __pyx_L10_unpacking_failed; __Pyx_GOTREF(__pyx_t_10); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_13(__pyx_t_9), 3) < 0) __PYX_ERR(0, 267, __pyx_L1_error) + if (__Pyx_IternextUnpackEndCheck(__pyx_t_13(__pyx_t_9), 3) < 0) __PYX_ERR(0, 268, __pyx_L1_error) __pyx_t_13 = NULL; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; goto __pyx_L11_unpacking_done; @@ -7671,7 +7722,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_2info_parse(CYTHON_UNUSED PyO __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_13 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 267, __pyx_L1_error) + __PYX_ERR(0, 268, __pyx_L1_error) __pyx_L11_unpacking_done:; } __Pyx_XDECREF_SET(__pyx_v_qstart, __pyx_t_5); @@ -7681,52 +7732,52 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_2info_parse(CYTHON_UNUSED PyO __Pyx_XDECREF_SET(__pyx_v_strand, __pyx_t_10); __pyx_t_10 = 0; - /* "nanovar/nv_bam_parser.pyx":268 + /* "nanovar/nv_bam_parser.pyx":269 * continue * qstart, qstretch, strand = query_sign(qseg[i][0], qseg[i][1], flag, readlen) * ndel = del_list[i] # <<<<<<<<<<<<<< * nins = ins_list[i] * gaps = ndel + nins */ - __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_del_list, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 268, __pyx_L1_error) + __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_del_list, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 269, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_ndel, __pyx_t_2); __pyx_t_2 = 0; - /* "nanovar/nv_bam_parser.pyx":269 + /* "nanovar/nv_bam_parser.pyx":270 * qstart, qstretch, strand = query_sign(qseg[i][0], qseg[i][1], flag, readlen) * ndel = del_list[i] * nins = ins_list[i] # <<<<<<<<<<<<<< * gaps = ndel + nins * subratio = round(qstretch / qlen, 3) */ - __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_ins_list, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 269, __pyx_L1_error) + __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_ins_list, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 270, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_nins, __pyx_t_2); __pyx_t_2 = 0; - /* "nanovar/nv_bam_parser.pyx":270 + /* "nanovar/nv_bam_parser.pyx":271 * ndel = del_list[i] * nins = ins_list[i] * gaps = ndel + nins # <<<<<<<<<<<<<< * subratio = round(qstretch / qlen, 3) * mismatch = int(round(total_mismatch * subratio, 0)) */ - __pyx_t_2 = PyNumber_Add(__pyx_v_ndel, __pyx_v_nins); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 270, __pyx_L1_error) + __pyx_t_2 = PyNumber_Add(__pyx_v_ndel, __pyx_v_nins); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 271, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_gaps, __pyx_t_2); __pyx_t_2 = 0; - /* "nanovar/nv_bam_parser.pyx":271 + /* "nanovar/nv_bam_parser.pyx":272 * nins = ins_list[i] * gaps = ndel + nins * subratio = round(qstretch / qlen, 3) # <<<<<<<<<<<<<< * mismatch = int(round(total_mismatch * subratio, 0)) * matches = max(qstretch - mismatch - nins, 1) */ - __pyx_t_2 = __Pyx_PyNumber_Divide(__pyx_v_qstretch, __pyx_v_qlen); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 271, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyNumber_Divide(__pyx_v_qstretch, __pyx_v_qlen); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 272, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 271, __pyx_L1_error) + __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 272, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_2); @@ -7734,22 +7785,22 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_2info_parse(CYTHON_UNUSED PyO __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_int_3); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_round, __pyx_t_10, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 271, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_round, __pyx_t_10, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 272, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_XDECREF_SET(__pyx_v_subratio, __pyx_t_2); __pyx_t_2 = 0; - /* "nanovar/nv_bam_parser.pyx":272 + /* "nanovar/nv_bam_parser.pyx":273 * gaps = ndel + nins * subratio = round(qstretch / qlen, 3) * mismatch = int(round(total_mismatch * subratio, 0)) # <<<<<<<<<<<<<< * matches = max(qstretch - mismatch - nins, 1) * pident = min(round(matches * 100 / substretch, 2), 100.00) */ - __pyx_t_2 = PyNumber_Multiply(__pyx_v_total_mismatch, __pyx_v_subratio); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 272, __pyx_L1_error) + __pyx_t_2 = PyNumber_Multiply(__pyx_v_total_mismatch, __pyx_v_subratio); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 273, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 272, __pyx_L1_error) + __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 273, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_2); @@ -7757,16 +7808,16 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_2info_parse(CYTHON_UNUSED PyO __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_int_0); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_round, __pyx_t_10, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 272, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_round, __pyx_t_10, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 273, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 272, __pyx_L1_error) + __pyx_t_10 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 273, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF_SET(__pyx_v_mismatch, __pyx_t_10); __pyx_t_10 = 0; - /* "nanovar/nv_bam_parser.pyx":273 + /* "nanovar/nv_bam_parser.pyx":274 * subratio = round(qstretch / qlen, 3) * mismatch = int(round(total_mismatch * subratio, 0)) * matches = max(qstretch - mismatch - nins, 1) # <<<<<<<<<<<<<< @@ -7774,19 +7825,19 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_2info_parse(CYTHON_UNUSED PyO * score = int(round(total_score * subratio, 0)) */ __pyx_t_14 = 1; - __pyx_t_10 = PyNumber_Subtract(__pyx_v_qstretch, __pyx_v_mismatch); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 273, __pyx_L1_error) + __pyx_t_10 = PyNumber_Subtract(__pyx_v_qstretch, __pyx_v_mismatch); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 274, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_2 = PyNumber_Subtract(__pyx_t_10, __pyx_v_nins); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 273, __pyx_L1_error) + __pyx_t_2 = PyNumber_Subtract(__pyx_t_10, __pyx_v_nins); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 274, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_12 = __Pyx_PyInt_From_long(__pyx_t_14); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 273, __pyx_L1_error) + __pyx_t_12 = __Pyx_PyInt_From_long(__pyx_t_14); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 274, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); - __pyx_t_5 = PyObject_RichCompare(__pyx_t_12, __pyx_t_2, Py_GT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 273, __pyx_L1_error) + __pyx_t_5 = PyObject_RichCompare(__pyx_t_12, __pyx_t_2, Py_GT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 274, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 273, __pyx_L1_error) + __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 274, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_8) { - __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_t_14); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 273, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_t_14); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 274, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_10 = __pyx_t_5; __pyx_t_5 = 0; @@ -7801,7 +7852,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_2info_parse(CYTHON_UNUSED PyO __Pyx_XDECREF_SET(__pyx_v_matches, __pyx_t_2); __pyx_t_2 = 0; - /* "nanovar/nv_bam_parser.pyx":274 + /* "nanovar/nv_bam_parser.pyx":275 * mismatch = int(round(total_mismatch * subratio, 0)) * matches = max(qstretch - mismatch - nins, 1) * pident = min(round(matches * 100 / substretch, 2), 100.00) # <<<<<<<<<<<<<< @@ -7809,12 +7860,12 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_2info_parse(CYTHON_UNUSED PyO * priority = align_priority(flag) */ __pyx_t_15 = 100.00; - __pyx_t_2 = PyNumber_Multiply(__pyx_v_matches, __pyx_int_100); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 274, __pyx_L1_error) + __pyx_t_2 = PyNumber_Multiply(__pyx_v_matches, __pyx_int_100); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 275, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_10 = __Pyx_PyNumber_Divide(__pyx_t_2, __pyx_v_substretch); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 274, __pyx_L1_error) + __pyx_t_10 = __Pyx_PyNumber_Divide(__pyx_t_2, __pyx_v_substretch); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 275, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 274, __pyx_L1_error) + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 275, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_10); @@ -7822,17 +7873,17 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_2info_parse(CYTHON_UNUSED PyO __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_int_2); __pyx_t_10 = 0; - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_builtin_round, __pyx_t_2, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 274, __pyx_L1_error) + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_builtin_round, __pyx_t_2, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 275, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_5 = PyFloat_FromDouble(__pyx_t_15); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 274, __pyx_L1_error) + __pyx_t_5 = PyFloat_FromDouble(__pyx_t_15); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 275, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_12 = PyObject_RichCompare(__pyx_t_5, __pyx_t_10, Py_LT); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 274, __pyx_L1_error) + __pyx_t_12 = PyObject_RichCompare(__pyx_t_5, __pyx_t_10, Py_LT); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 275, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 274, __pyx_L1_error) + __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 275, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (__pyx_t_8) { - __pyx_t_12 = PyFloat_FromDouble(__pyx_t_15); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 274, __pyx_L1_error) + __pyx_t_12 = PyFloat_FromDouble(__pyx_t_15); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 275, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_2 = __pyx_t_12; __pyx_t_12 = 0; @@ -7847,16 +7898,16 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_2info_parse(CYTHON_UNUSED PyO __Pyx_XDECREF_SET(__pyx_v_pident, __pyx_t_10); __pyx_t_10 = 0; - /* "nanovar/nv_bam_parser.pyx":275 + /* "nanovar/nv_bam_parser.pyx":276 * matches = max(qstretch - mismatch - nins, 1) * pident = min(round(matches * 100 / substretch, 2), 100.00) * score = int(round(total_score * subratio, 0)) # <<<<<<<<<<<<<< * priority = align_priority(flag) * line = "%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s" % (rname, substart, substretch, '+', */ - __pyx_t_10 = PyNumber_Multiply(__pyx_v_total_score, __pyx_v_subratio); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 275, __pyx_L1_error) + __pyx_t_10 = PyNumber_Multiply(__pyx_v_total_score, __pyx_v_subratio); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 275, __pyx_L1_error) + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_10); @@ -7864,23 +7915,23 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_2info_parse(CYTHON_UNUSED PyO __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_int_0); __pyx_t_10 = 0; - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_builtin_round, __pyx_t_2, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 275, __pyx_L1_error) + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_builtin_round, __pyx_t_2, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 275, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_XDECREF_SET(__pyx_v_score, __pyx_t_2); __pyx_t_2 = 0; - /* "nanovar/nv_bam_parser.pyx":276 + /* "nanovar/nv_bam_parser.pyx":277 * pident = min(round(matches * 100 / substretch, 2), 100.00) * score = int(round(total_score * subratio, 0)) * priority = align_priority(flag) # <<<<<<<<<<<<<< * line = "%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s" % (rname, substart, substretch, '+', * qname, qstart, qstretch, strand, */ - __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_align_priority); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 276, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_align_priority); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 277, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_12 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_10))) { @@ -7894,20 +7945,20 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_2info_parse(CYTHON_UNUSED PyO } __pyx_t_2 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_12, __pyx_v_flag) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_v_flag); __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 276, __pyx_L1_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 277, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_XDECREF_SET(__pyx_v_priority, __pyx_t_2); __pyx_t_2 = 0; - /* "nanovar/nv_bam_parser.pyx":277 + /* "nanovar/nv_bam_parser.pyx":278 * score = int(round(total_score * subratio, 0)) * priority = align_priority(flag) * line = "%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s" % (rname, substart, substretch, '+', # <<<<<<<<<<<<<< * qname, qstart, qstretch, strand, * readlen, 0.0, score, pident, mismatch, gaps) */ - __pyx_t_2 = PyTuple_New(14); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 277, __pyx_L1_error) + __pyx_t_2 = PyTuple_New(14); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_rname); __Pyx_GIVEREF(__pyx_v_rname); @@ -7951,29 +8002,29 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_2info_parse(CYTHON_UNUSED PyO __Pyx_INCREF(__pyx_v_gaps); __Pyx_GIVEREF(__pyx_v_gaps); PyTuple_SET_ITEM(__pyx_t_2, 13, __pyx_v_gaps); - __pyx_t_10 = __Pyx_PyString_Format(__pyx_kp_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s, __pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 277, __pyx_L1_error) + __pyx_t_10 = __Pyx_PyString_Format(__pyx_kp_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s, __pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF_SET(__pyx_v_line, ((PyObject*)__pyx_t_10)); __pyx_t_10 = 0; - /* "nanovar/nv_bam_parser.pyx":280 + /* "nanovar/nv_bam_parser.pyx":281 * qname, qstart, qstretch, strand, * readlen, 0.0, score, pident, mismatch, gaps) * contig_collect.append(rname) # <<<<<<<<<<<<<< * lines.append((priority, score, line)) * return lines, contig_collect */ - __pyx_t_16 = __Pyx_PyList_Append(__pyx_v_contig_collect, __pyx_v_rname); if (unlikely(__pyx_t_16 == ((int)-1))) __PYX_ERR(0, 280, __pyx_L1_error) + __pyx_t_16 = __Pyx_PyList_Append(__pyx_v_contig_collect, __pyx_v_rname); if (unlikely(__pyx_t_16 == ((int)-1))) __PYX_ERR(0, 281, __pyx_L1_error) - /* "nanovar/nv_bam_parser.pyx":281 + /* "nanovar/nv_bam_parser.pyx":282 * readlen, 0.0, score, pident, mismatch, gaps) * contig_collect.append(rname) * lines.append((priority, score, line)) # <<<<<<<<<<<<<< * return lines, contig_collect * */ - __pyx_t_10 = PyTuple_New(3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 281, __pyx_L1_error) + __pyx_t_10 = PyTuple_New(3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_INCREF(__pyx_v_priority); __Pyx_GIVEREF(__pyx_v_priority); @@ -7984,12 +8035,12 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_2info_parse(CYTHON_UNUSED PyO __Pyx_INCREF(__pyx_v_line); __Pyx_GIVEREF(__pyx_v_line); PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_v_line); - __pyx_t_16 = __Pyx_PyList_Append(__pyx_v_lines, __pyx_t_10); if (unlikely(__pyx_t_16 == ((int)-1))) __PYX_ERR(0, 281, __pyx_L1_error) + __pyx_t_16 = __Pyx_PyList_Append(__pyx_v_lines, __pyx_t_10); if (unlikely(__pyx_t_16 == ((int)-1))) __PYX_ERR(0, 282, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_L7_continue:; } - /* "nanovar/nv_bam_parser.pyx":282 + /* "nanovar/nv_bam_parser.pyx":283 * contig_collect.append(rname) * lines.append((priority, score, line)) * return lines, contig_collect # <<<<<<<<<<<<<< @@ -7997,7 +8048,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_2info_parse(CYTHON_UNUSED PyO * # Parse segments without breakends */ __Pyx_XDECREF(__pyx_r); - __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 282, __pyx_L1_error) + __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 283, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_INCREF(__pyx_v_lines); __Pyx_GIVEREF(__pyx_v_lines); @@ -8009,7 +8060,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_2info_parse(CYTHON_UNUSED PyO __pyx_t_10 = 0; goto __pyx_L0; - /* "nanovar/nv_bam_parser.pyx":254 + /* "nanovar/nv_bam_parser.pyx":255 * * * def info_parse(qname, rname, readlen, qlen, flag, nm, total_score, qseg, sseg, del_list, ins_list, minlen=200): # <<<<<<<<<<<<<< @@ -8055,7 +8106,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_2info_parse(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanovar/nv_bam_parser.pyx":285 +/* "nanovar/nv_bam_parser.pyx":286 * * # Parse segments without breakends * def info_parse_simple(qname, rname, substart, rend, minlen=200): # <<<<<<<<<<<<<< @@ -8105,19 +8156,19 @@ static PyObject *__pyx_pw_7nanovar_13nv_bam_parser_5info_parse_simple(PyObject * case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_rname)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("info_parse_simple", 0, 4, 5, 1); __PYX_ERR(0, 285, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("info_parse_simple", 0, 4, 5, 1); __PYX_ERR(0, 286, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_substart)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("info_parse_simple", 0, 4, 5, 2); __PYX_ERR(0, 285, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("info_parse_simple", 0, 4, 5, 2); __PYX_ERR(0, 286, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_rend)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("info_parse_simple", 0, 4, 5, 3); __PYX_ERR(0, 285, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("info_parse_simple", 0, 4, 5, 3); __PYX_ERR(0, 286, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 4: @@ -8127,7 +8178,7 @@ static PyObject *__pyx_pw_7nanovar_13nv_bam_parser_5info_parse_simple(PyObject * } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "info_parse_simple") < 0)) __PYX_ERR(0, 285, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "info_parse_simple") < 0)) __PYX_ERR(0, 286, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -8149,7 +8200,7 @@ static PyObject *__pyx_pw_7nanovar_13nv_bam_parser_5info_parse_simple(PyObject * } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("info_parse_simple", 0, 4, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 285, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("info_parse_simple", 0, 4, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 286, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("nanovar.nv_bam_parser.info_parse_simple", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -8172,39 +8223,39 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_4info_parse_simple(CYTHON_UNU PyObject *__pyx_t_3 = NULL; __Pyx_RefNannySetupContext("info_parse_simple", 0); - /* "nanovar/nv_bam_parser.pyx":286 + /* "nanovar/nv_bam_parser.pyx":287 * # Parse segments without breakends * def info_parse_simple(qname, rname, substart, rend, minlen=200): * substretch = rend - substart # <<<<<<<<<<<<<< * if substretch < minlen: * pass */ - __pyx_t_1 = PyNumber_Subtract(__pyx_v_rend, __pyx_v_substart); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 286, __pyx_L1_error) + __pyx_t_1 = PyNumber_Subtract(__pyx_v_rend, __pyx_v_substart); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 287, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_substretch = __pyx_t_1; __pyx_t_1 = 0; - /* "nanovar/nv_bam_parser.pyx":287 + /* "nanovar/nv_bam_parser.pyx":288 * def info_parse_simple(qname, rname, substart, rend, minlen=200): * substretch = rend - substart * if substretch < minlen: # <<<<<<<<<<<<<< * pass * line = "%s\t%s\t%s\t%s\t%s" % (rname, substart, substretch, '+', qname) */ - __pyx_t_1 = PyObject_RichCompare(__pyx_v_substretch, __pyx_v_minlen, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 287, __pyx_L1_error) - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 287, __pyx_L1_error) + __pyx_t_1 = PyObject_RichCompare(__pyx_v_substretch, __pyx_v_minlen, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 288, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 288, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { } - /* "nanovar/nv_bam_parser.pyx":289 + /* "nanovar/nv_bam_parser.pyx":290 * if substretch < minlen: * pass * line = "%s\t%s\t%s\t%s\t%s" % (rname, substart, substretch, '+', qname) # <<<<<<<<<<<<<< * return line * */ - __pyx_t_1 = PyTuple_New(5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 289, __pyx_L1_error) + __pyx_t_1 = PyTuple_New(5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 290, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_rname); __Pyx_GIVEREF(__pyx_v_rname); @@ -8221,13 +8272,13 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_4info_parse_simple(CYTHON_UNU __Pyx_INCREF(__pyx_v_qname); __Pyx_GIVEREF(__pyx_v_qname); PyTuple_SET_ITEM(__pyx_t_1, 4, __pyx_v_qname); - __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_s_s_s_s_s, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 289, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_s_s_s_s_s, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 290, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_line = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; - /* "nanovar/nv_bam_parser.pyx":290 + /* "nanovar/nv_bam_parser.pyx":291 * pass * line = "%s\t%s\t%s\t%s\t%s" % (rname, substart, substretch, '+', qname) * return line # <<<<<<<<<<<<<< @@ -8239,7 +8290,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_4info_parse_simple(CYTHON_UNU __pyx_r = __pyx_v_line; goto __pyx_L0; - /* "nanovar/nv_bam_parser.pyx":285 + /* "nanovar/nv_bam_parser.pyx":286 * * # Parse segments without breakends * def info_parse_simple(qname, rname, substart, rend, minlen=200): # <<<<<<<<<<<<<< @@ -8261,7 +8312,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_4info_parse_simple(CYTHON_UNU return __pyx_r; } -/* "nanovar/nv_bam_parser.pyx":293 +/* "nanovar/nv_bam_parser.pyx":294 * * # Parse query start and end values according to read direction * def query_sign(start, end, flag, readlen): # <<<<<<<<<<<<<< @@ -8307,23 +8358,23 @@ static PyObject *__pyx_pw_7nanovar_13nv_bam_parser_7query_sign(PyObject *__pyx_s case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_end)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("query_sign", 1, 4, 4, 1); __PYX_ERR(0, 293, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("query_sign", 1, 4, 4, 1); __PYX_ERR(0, 294, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flag)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("query_sign", 1, 4, 4, 2); __PYX_ERR(0, 293, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("query_sign", 1, 4, 4, 2); __PYX_ERR(0, 294, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_readlen)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("query_sign", 1, 4, 4, 3); __PYX_ERR(0, 293, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("query_sign", 1, 4, 4, 3); __PYX_ERR(0, 294, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "query_sign") < 0)) __PYX_ERR(0, 293, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "query_sign") < 0)) __PYX_ERR(0, 294, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -8340,7 +8391,7 @@ static PyObject *__pyx_pw_7nanovar_13nv_bam_parser_7query_sign(PyObject *__pyx_s } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("query_sign", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 293, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("query_sign", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 294, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("nanovar.nv_bam_parser.query_sign", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -8363,7 +8414,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_6query_sign(CYTHON_UNUSED PyO PyObject *__pyx_t_5 = NULL; __Pyx_RefNannySetupContext("query_sign", 0); - /* "nanovar/nv_bam_parser.pyx":294 + /* "nanovar/nv_bam_parser.pyx":295 * # Parse query start and end values according to read direction * def query_sign(start, end, flag, readlen): * if flag in (0, 2048, 256): # <<<<<<<<<<<<<< @@ -8372,27 +8423,27 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_6query_sign(CYTHON_UNUSED PyO */ __Pyx_INCREF(__pyx_v_flag); __pyx_t_1 = __pyx_v_flag; - __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_t_1, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 294, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_t_1, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 294, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 295, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (!__pyx_t_4) { } else { __pyx_t_2 = __pyx_t_4; goto __pyx_L4_bool_binop_done; } - __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_t_1, __pyx_int_2048, 0x800, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 294, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_t_1, __pyx_int_2048, 0x800, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 294, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 295, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (!__pyx_t_4) { } else { __pyx_t_2 = __pyx_t_4; goto __pyx_L4_bool_binop_done; } - __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_t_1, __pyx_int_256, 0x100, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 294, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_t_1, __pyx_int_256, 0x100, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 294, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 295, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_2 = __pyx_t_4; __pyx_L4_bool_binop_done:; @@ -8400,7 +8451,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_6query_sign(CYTHON_UNUSED PyO __pyx_t_4 = (__pyx_t_2 != 0); if (__pyx_t_4) { - /* "nanovar/nv_bam_parser.pyx":295 + /* "nanovar/nv_bam_parser.pyx":296 * def query_sign(start, end, flag, readlen): * if flag in (0, 2048, 256): * return start, end - start, '+' # <<<<<<<<<<<<<< @@ -8408,9 +8459,9 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_6query_sign(CYTHON_UNUSED PyO * return readlen - end, end - start, '-' */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = PyNumber_Subtract(__pyx_v_end, __pyx_v_start); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 295, __pyx_L1_error) + __pyx_t_1 = PyNumber_Subtract(__pyx_v_end, __pyx_v_start); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 296, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 295, __pyx_L1_error) + __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 296, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_start); __Pyx_GIVEREF(__pyx_v_start); @@ -8425,7 +8476,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_6query_sign(CYTHON_UNUSED PyO __pyx_t_3 = 0; goto __pyx_L0; - /* "nanovar/nv_bam_parser.pyx":294 + /* "nanovar/nv_bam_parser.pyx":295 * # Parse query start and end values according to read direction * def query_sign(start, end, flag, readlen): * if flag in (0, 2048, 256): # <<<<<<<<<<<<<< @@ -8434,7 +8485,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_6query_sign(CYTHON_UNUSED PyO */ } - /* "nanovar/nv_bam_parser.pyx":296 + /* "nanovar/nv_bam_parser.pyx":297 * if flag in (0, 2048, 256): * return start, end - start, '+' * elif flag in (16, 2064, 272): # <<<<<<<<<<<<<< @@ -8443,27 +8494,27 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_6query_sign(CYTHON_UNUSED PyO */ __Pyx_INCREF(__pyx_v_flag); __pyx_t_3 = __pyx_v_flag; - __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_t_3, __pyx_int_16, 16, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 296, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_t_3, __pyx_int_16, 16, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 297, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 296, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 297, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!__pyx_t_2) { } else { __pyx_t_4 = __pyx_t_2; goto __pyx_L7_bool_binop_done; } - __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_t_3, __pyx_int_2064, 0x810, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 296, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_t_3, __pyx_int_2064, 0x810, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 297, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 296, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 297, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!__pyx_t_2) { } else { __pyx_t_4 = __pyx_t_2; goto __pyx_L7_bool_binop_done; } - __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_t_3, __pyx_int_272, 0x110, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 296, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_t_3, __pyx_int_272, 0x110, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 297, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 296, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 297, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_4 = __pyx_t_2; __pyx_L7_bool_binop_done:; @@ -8471,7 +8522,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_6query_sign(CYTHON_UNUSED PyO __pyx_t_2 = (__pyx_t_4 != 0); if (__pyx_t_2) { - /* "nanovar/nv_bam_parser.pyx":297 + /* "nanovar/nv_bam_parser.pyx":298 * return start, end - start, '+' * elif flag in (16, 2064, 272): * return readlen - end, end - start, '-' # <<<<<<<<<<<<<< @@ -8479,11 +8530,11 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_6query_sign(CYTHON_UNUSED PyO * return start, end - start, '+' */ __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = PyNumber_Subtract(__pyx_v_readlen, __pyx_v_end); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 297, __pyx_L1_error) + __pyx_t_3 = PyNumber_Subtract(__pyx_v_readlen, __pyx_v_end); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 298, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = PyNumber_Subtract(__pyx_v_end, __pyx_v_start); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 297, __pyx_L1_error) + __pyx_t_1 = PyNumber_Subtract(__pyx_v_end, __pyx_v_start); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 298, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 297, __pyx_L1_error) + __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 298, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); @@ -8498,7 +8549,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_6query_sign(CYTHON_UNUSED PyO __pyx_t_5 = 0; goto __pyx_L0; - /* "nanovar/nv_bam_parser.pyx":296 + /* "nanovar/nv_bam_parser.pyx":297 * if flag in (0, 2048, 256): * return start, end - start, '+' * elif flag in (16, 2064, 272): # <<<<<<<<<<<<<< @@ -8507,7 +8558,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_6query_sign(CYTHON_UNUSED PyO */ } - /* "nanovar/nv_bam_parser.pyx":299 + /* "nanovar/nv_bam_parser.pyx":300 * return readlen - end, end - start, '-' * else: * return start, end - start, '+' # <<<<<<<<<<<<<< @@ -8516,9 +8567,9 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_6query_sign(CYTHON_UNUSED PyO */ /*else*/ { __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = PyNumber_Subtract(__pyx_v_end, __pyx_v_start); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 299, __pyx_L1_error) + __pyx_t_5 = PyNumber_Subtract(__pyx_v_end, __pyx_v_start); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 300, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 299, __pyx_L1_error) + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 300, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_start); __Pyx_GIVEREF(__pyx_v_start); @@ -8534,7 +8585,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_6query_sign(CYTHON_UNUSED PyO goto __pyx_L0; } - /* "nanovar/nv_bam_parser.pyx":293 + /* "nanovar/nv_bam_parser.pyx":294 * * # Parse query start and end values according to read direction * def query_sign(start, end, flag, readlen): # <<<<<<<<<<<<<< @@ -8555,7 +8606,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_6query_sign(CYTHON_UNUSED PyO return __pyx_r; } -/* "nanovar/nv_bam_parser.pyx":302 +/* "nanovar/nv_bam_parser.pyx":303 * * # Set alignment priority according to flag * def align_priority(flag): # <<<<<<<<<<<<<< @@ -8586,7 +8637,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_8align_priority(CYTHON_UNUSED int __pyx_t_4; __Pyx_RefNannySetupContext("align_priority", 0); - /* "nanovar/nv_bam_parser.pyx":303 + /* "nanovar/nv_bam_parser.pyx":304 * # Set alignment priority according to flag * def align_priority(flag): * if flag in (0, 16): # <<<<<<<<<<<<<< @@ -8595,18 +8646,18 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_8align_priority(CYTHON_UNUSED */ __Pyx_INCREF(__pyx_v_flag); __pyx_t_1 = __pyx_v_flag; - __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_t_1, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 303, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_t_1, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 304, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 303, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 304, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (!__pyx_t_4) { } else { __pyx_t_2 = __pyx_t_4; goto __pyx_L4_bool_binop_done; } - __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_t_1, __pyx_int_16, 16, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 303, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_t_1, __pyx_int_16, 16, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 304, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 303, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 304, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_2 = __pyx_t_4; __pyx_L4_bool_binop_done:; @@ -8614,7 +8665,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_8align_priority(CYTHON_UNUSED __pyx_t_4 = (__pyx_t_2 != 0); if (__pyx_t_4) { - /* "nanovar/nv_bam_parser.pyx":304 + /* "nanovar/nv_bam_parser.pyx":305 * def align_priority(flag): * if flag in (0, 16): * return 1 # <<<<<<<<<<<<<< @@ -8626,7 +8677,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_8align_priority(CYTHON_UNUSED __pyx_r = __pyx_int_1; goto __pyx_L0; - /* "nanovar/nv_bam_parser.pyx":303 + /* "nanovar/nv_bam_parser.pyx":304 * # Set alignment priority according to flag * def align_priority(flag): * if flag in (0, 16): # <<<<<<<<<<<<<< @@ -8635,7 +8686,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_8align_priority(CYTHON_UNUSED */ } - /* "nanovar/nv_bam_parser.pyx":305 + /* "nanovar/nv_bam_parser.pyx":306 * if flag in (0, 16): * return 1 * elif flag in (2048, 2064): # <<<<<<<<<<<<<< @@ -8644,18 +8695,18 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_8align_priority(CYTHON_UNUSED */ __Pyx_INCREF(__pyx_v_flag); __pyx_t_1 = __pyx_v_flag; - __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_t_1, __pyx_int_2048, 0x800, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 305, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_t_1, __pyx_int_2048, 0x800, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 306, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 305, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 306, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (!__pyx_t_2) { } else { __pyx_t_4 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } - __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_t_1, __pyx_int_2064, 0x810, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 305, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_t_1, __pyx_int_2064, 0x810, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 306, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 305, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 306, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_4 = __pyx_t_2; __pyx_L6_bool_binop_done:; @@ -8663,7 +8714,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_8align_priority(CYTHON_UNUSED __pyx_t_2 = (__pyx_t_4 != 0); if (__pyx_t_2) { - /* "nanovar/nv_bam_parser.pyx":306 + /* "nanovar/nv_bam_parser.pyx":307 * return 1 * elif flag in (2048, 2064): * return 2 # <<<<<<<<<<<<<< @@ -8675,7 +8726,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_8align_priority(CYTHON_UNUSED __pyx_r = __pyx_int_2; goto __pyx_L0; - /* "nanovar/nv_bam_parser.pyx":305 + /* "nanovar/nv_bam_parser.pyx":306 * if flag in (0, 16): * return 1 * elif flag in (2048, 2064): # <<<<<<<<<<<<<< @@ -8684,7 +8735,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_8align_priority(CYTHON_UNUSED */ } - /* "nanovar/nv_bam_parser.pyx":308 + /* "nanovar/nv_bam_parser.pyx":309 * return 2 * else: * return 3 # <<<<<<<<<<<<<< @@ -8698,7 +8749,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_8align_priority(CYTHON_UNUSED goto __pyx_L0; } - /* "nanovar/nv_bam_parser.pyx":302 + /* "nanovar/nv_bam_parser.pyx":303 * * # Set alignment priority according to flag * def align_priority(flag): # <<<<<<<<<<<<<< @@ -8718,7 +8769,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_8align_priority(CYTHON_UNUSED return __pyx_r; } -/* "nanovar/nv_bam_parser.pyx":312 +/* "nanovar/nv_bam_parser.pyx":313 * * # Create genome gap dictionary * def makegapdict(gap_path, contig_omit): # <<<<<<<<<<<<<< @@ -8758,11 +8809,11 @@ static PyObject *__pyx_pw_7nanovar_13nv_bam_parser_11makegapdict(PyObject *__pyx case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_contig_omit)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("makegapdict", 1, 2, 2, 1); __PYX_ERR(0, 312, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("makegapdict", 1, 2, 2, 1); __PYX_ERR(0, 313, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "makegapdict") < 0)) __PYX_ERR(0, 312, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "makegapdict") < 0)) __PYX_ERR(0, 313, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -8775,7 +8826,7 @@ static PyObject *__pyx_pw_7nanovar_13nv_bam_parser_11makegapdict(PyObject *__pyx } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("makegapdict", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 312, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("makegapdict", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 313, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("nanovar.nv_bam_parser.makegapdict", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -8814,19 +8865,19 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_10makegapdict(CYTHON_UNUSED P PyObject *__pyx_t_17 = NULL; __Pyx_RefNannySetupContext("makegapdict", 0); - /* "nanovar/nv_bam_parser.pyx":313 + /* "nanovar/nv_bam_parser.pyx":314 * # Create genome gap dictionary * def makegapdict(gap_path, contig_omit): * gapdict = {} # <<<<<<<<<<<<<< * if gap_path is not None: * rgapdata = open(gap_path, 'r').read().splitlines() */ - __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 313, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 314, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_gapdict = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "nanovar/nv_bam_parser.pyx":314 + /* "nanovar/nv_bam_parser.pyx":315 * def makegapdict(gap_path, contig_omit): * gapdict = {} * if gap_path is not None: # <<<<<<<<<<<<<< @@ -8837,14 +8888,14 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_10makegapdict(CYTHON_UNUSED P __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { - /* "nanovar/nv_bam_parser.pyx":315 + /* "nanovar/nv_bam_parser.pyx":316 * gapdict = {} * if gap_path is not None: * rgapdata = open(gap_path, 'r').read().splitlines() # <<<<<<<<<<<<<< * for line in rgapdata: * try: */ - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 315, __pyx_L1_error) + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 316, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_gap_path); __Pyx_GIVEREF(__pyx_v_gap_path); @@ -8852,10 +8903,10 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_10makegapdict(CYTHON_UNUSED P __Pyx_INCREF(__pyx_n_s_r); __Pyx_GIVEREF(__pyx_n_s_r); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_n_s_r); - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_5, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 315, __pyx_L1_error) + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_5, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 316, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_read); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 315, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_read); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 316, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = NULL; @@ -8870,10 +8921,10 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_10makegapdict(CYTHON_UNUSED P } __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 315, __pyx_L1_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 316, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 315, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 316, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; @@ -8888,13 +8939,13 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_10makegapdict(CYTHON_UNUSED P } __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 315, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 316, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_rgapdata = __pyx_t_1; __pyx_t_1 = 0; - /* "nanovar/nv_bam_parser.pyx":316 + /* "nanovar/nv_bam_parser.pyx":317 * if gap_path is not None: * rgapdata = open(gap_path, 'r').read().splitlines() * for line in rgapdata: # <<<<<<<<<<<<<< @@ -8905,26 +8956,26 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_10makegapdict(CYTHON_UNUSED P __pyx_t_1 = __pyx_v_rgapdata; __Pyx_INCREF(__pyx_t_1); __pyx_t_7 = 0; __pyx_t_8 = NULL; } else { - __pyx_t_7 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_rgapdata); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 316, __pyx_L1_error) + __pyx_t_7 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_rgapdata); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 317, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_8 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 316, __pyx_L1_error) + __pyx_t_8 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 317, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_8)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_5 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_7); __Pyx_INCREF(__pyx_t_5); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 316, __pyx_L1_error) + __pyx_t_5 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_7); __Pyx_INCREF(__pyx_t_5); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 317, __pyx_L1_error) #else - __pyx_t_5 = PySequence_ITEM(__pyx_t_1, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 316, __pyx_L1_error) + __pyx_t_5 = PySequence_ITEM(__pyx_t_1, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 317, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_7); __Pyx_INCREF(__pyx_t_5); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 316, __pyx_L1_error) + __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_7); __Pyx_INCREF(__pyx_t_5); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 317, __pyx_L1_error) #else - __pyx_t_5 = PySequence_ITEM(__pyx_t_1, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 316, __pyx_L1_error) + __pyx_t_5 = PySequence_ITEM(__pyx_t_1, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 317, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } @@ -8934,7 +8985,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_10makegapdict(CYTHON_UNUSED P PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 316, __pyx_L1_error) + else __PYX_ERR(0, 317, __pyx_L1_error) } break; } @@ -8943,7 +8994,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_10makegapdict(CYTHON_UNUSED P __Pyx_XDECREF_SET(__pyx_v_line, __pyx_t_5); __pyx_t_5 = 0; - /* "nanovar/nv_bam_parser.pyx":317 + /* "nanovar/nv_bam_parser.pyx":318 * rgapdata = open(gap_path, 'r').read().splitlines() * for line in rgapdata: * try: # <<<<<<<<<<<<<< @@ -8959,14 +9010,14 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_10makegapdict(CYTHON_UNUSED P __Pyx_XGOTREF(__pyx_t_11); /*try:*/ { - /* "nanovar/nv_bam_parser.pyx":318 + /* "nanovar/nv_bam_parser.pyx":319 * for line in rgapdata: * try: * gapdict[line.split('\t')[0]].append([int(line.split('\t')[1]), int(line.split('\t')[2])]) # <<<<<<<<<<<<<< * except KeyError: * gapdict[line.split('\t')[0]] = [[int(line.split('\t')[1]), int(line.split('\t')[2])]] */ - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_line, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 318, __pyx_L6_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_line, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 319, __pyx_L6_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { @@ -8980,16 +9031,16 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_10makegapdict(CYTHON_UNUSED P } __pyx_t_5 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_kp_s__4) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_s__4); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 318, __pyx_L6_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 319, __pyx_L6_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_5, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 318, __pyx_L6_error) + __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_5, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 319, __pyx_L6_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyDict_GetItem(__pyx_v_gapdict, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 318, __pyx_L6_error) + __pyx_t_5 = __Pyx_PyDict_GetItem(__pyx_v_gapdict, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 319, __pyx_L6_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_line, __pyx_n_s_split); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 318, __pyx_L6_error) + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_line, __pyx_n_s_split); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 319, __pyx_L6_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_12 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { @@ -9003,16 +9054,16 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_10makegapdict(CYTHON_UNUSED P } __pyx_t_4 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_12, __pyx_kp_s__4) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_kp_s__4); __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 318, __pyx_L6_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 319, __pyx_L6_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_GetItemInt(__pyx_t_4, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 318, __pyx_L6_error) + __pyx_t_6 = __Pyx_GetItemInt(__pyx_t_4, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 319, __pyx_L6_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 318, __pyx_L6_error) + __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 319, __pyx_L6_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_line, __pyx_n_s_split); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 318, __pyx_L6_error) + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_line, __pyx_n_s_split); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 319, __pyx_L6_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_13 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_12))) { @@ -9026,16 +9077,16 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_10makegapdict(CYTHON_UNUSED P } __pyx_t_6 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_12, __pyx_t_13, __pyx_kp_s__4) : __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_kp_s__4); __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 318, __pyx_L6_error) + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 319, __pyx_L6_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = __Pyx_GetItemInt(__pyx_t_6, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 318, __pyx_L6_error) + __pyx_t_12 = __Pyx_GetItemInt(__pyx_t_6, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 319, __pyx_L6_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_12); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 318, __pyx_L6_error) + __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_12); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 319, __pyx_L6_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = PyList_New(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 318, __pyx_L6_error) + __pyx_t_12 = PyList_New(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 319, __pyx_L6_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_12, 0, __pyx_t_4); @@ -9043,11 +9094,11 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_10makegapdict(CYTHON_UNUSED P PyList_SET_ITEM(__pyx_t_12, 1, __pyx_t_6); __pyx_t_4 = 0; __pyx_t_6 = 0; - __pyx_t_14 = __Pyx_PyObject_Append(__pyx_t_5, __pyx_t_12); if (unlikely(__pyx_t_14 == ((int)-1))) __PYX_ERR(0, 318, __pyx_L6_error) + __pyx_t_14 = __Pyx_PyObject_Append(__pyx_t_5, __pyx_t_12); if (unlikely(__pyx_t_14 == ((int)-1))) __PYX_ERR(0, 319, __pyx_L6_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - /* "nanovar/nv_bam_parser.pyx":317 + /* "nanovar/nv_bam_parser.pyx":318 * rgapdata = open(gap_path, 'r').read().splitlines() * for line in rgapdata: * try: # <<<<<<<<<<<<<< @@ -9066,7 +9117,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_10makegapdict(CYTHON_UNUSED P __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - /* "nanovar/nv_bam_parser.pyx":319 + /* "nanovar/nv_bam_parser.pyx":320 * try: * gapdict[line.split('\t')[0]].append([int(line.split('\t')[1]), int(line.split('\t')[2])]) * except KeyError: # <<<<<<<<<<<<<< @@ -9076,19 +9127,19 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_10makegapdict(CYTHON_UNUSED P __pyx_t_15 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_KeyError); if (__pyx_t_15) { __Pyx_AddTraceback("nanovar.nv_bam_parser.makegapdict", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_12, &__pyx_t_5, &__pyx_t_6) < 0) __PYX_ERR(0, 319, __pyx_L8_except_error) + if (__Pyx_GetException(&__pyx_t_12, &__pyx_t_5, &__pyx_t_6) < 0) __PYX_ERR(0, 320, __pyx_L8_except_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_6); - /* "nanovar/nv_bam_parser.pyx":320 + /* "nanovar/nv_bam_parser.pyx":321 * gapdict[line.split('\t')[0]].append([int(line.split('\t')[1]), int(line.split('\t')[2])]) * except KeyError: * gapdict[line.split('\t')[0]] = [[int(line.split('\t')[1]), int(line.split('\t')[2])]] # <<<<<<<<<<<<<< * for contig in contig_omit: * try: */ - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_line, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 320, __pyx_L8_except_error) + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_line, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 321, __pyx_L8_except_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_16 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { @@ -9102,16 +9153,16 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_10makegapdict(CYTHON_UNUSED P } __pyx_t_4 = (__pyx_t_16) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_16, __pyx_kp_s__4) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_s__4); __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 320, __pyx_L8_except_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 321, __pyx_L8_except_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_4, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 320, __pyx_L8_except_error) + __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_4, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 321, __pyx_L8_except_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_13); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 320, __pyx_L8_except_error) + __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_13); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 321, __pyx_L8_except_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_line, __pyx_n_s_split); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 320, __pyx_L8_except_error) + __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_line, __pyx_n_s_split); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 321, __pyx_L8_except_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_17 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_16))) { @@ -9125,16 +9176,16 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_10makegapdict(CYTHON_UNUSED P } __pyx_t_13 = (__pyx_t_17) ? __Pyx_PyObject_Call2Args(__pyx_t_16, __pyx_t_17, __pyx_kp_s__4) : __Pyx_PyObject_CallOneArg(__pyx_t_16, __pyx_kp_s__4); __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 320, __pyx_L8_except_error) + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 321, __pyx_L8_except_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - __pyx_t_16 = __Pyx_GetItemInt(__pyx_t_13, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 320, __pyx_L8_except_error) + __pyx_t_16 = __Pyx_GetItemInt(__pyx_t_13, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 321, __pyx_L8_except_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = __Pyx_PyNumber_Int(__pyx_t_16); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 320, __pyx_L8_except_error) + __pyx_t_13 = __Pyx_PyNumber_Int(__pyx_t_16); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 321, __pyx_L8_except_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - __pyx_t_16 = PyList_New(2); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 320, __pyx_L8_except_error) + __pyx_t_16 = PyList_New(2); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 321, __pyx_L8_except_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_16, 0, __pyx_t_4); @@ -9142,12 +9193,12 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_10makegapdict(CYTHON_UNUSED P PyList_SET_ITEM(__pyx_t_16, 1, __pyx_t_13); __pyx_t_4 = 0; __pyx_t_13 = 0; - __pyx_t_13 = PyList_New(1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 320, __pyx_L8_except_error) + __pyx_t_13 = PyList_New(1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 321, __pyx_L8_except_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_GIVEREF(__pyx_t_16); PyList_SET_ITEM(__pyx_t_13, 0, __pyx_t_16); __pyx_t_16 = 0; - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_line, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 320, __pyx_L8_except_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_line, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 321, __pyx_L8_except_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_17 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { @@ -9161,13 +9212,13 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_10makegapdict(CYTHON_UNUSED P } __pyx_t_16 = (__pyx_t_17) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_17, __pyx_kp_s__4) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_s__4); __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 320, __pyx_L8_except_error) + if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 321, __pyx_L8_except_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_16, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 320, __pyx_L8_except_error) + __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_16, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 321, __pyx_L8_except_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_gapdict, __pyx_t_4, __pyx_t_13) < 0)) __PYX_ERR(0, 320, __pyx_L8_except_error) + if (unlikely(PyDict_SetItem(__pyx_v_gapdict, __pyx_t_4, __pyx_t_13) < 0)) __PYX_ERR(0, 321, __pyx_L8_except_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; @@ -9178,7 +9229,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_10makegapdict(CYTHON_UNUSED P goto __pyx_L8_except_error; __pyx_L8_except_error:; - /* "nanovar/nv_bam_parser.pyx":317 + /* "nanovar/nv_bam_parser.pyx":318 * rgapdata = open(gap_path, 'r').read().splitlines() * for line in rgapdata: * try: # <<<<<<<<<<<<<< @@ -9198,7 +9249,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_10makegapdict(CYTHON_UNUSED P __pyx_L13_try_end:; } - /* "nanovar/nv_bam_parser.pyx":316 + /* "nanovar/nv_bam_parser.pyx":317 * if gap_path is not None: * rgapdata = open(gap_path, 'r').read().splitlines() * for line in rgapdata: # <<<<<<<<<<<<<< @@ -9208,7 +9259,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_10makegapdict(CYTHON_UNUSED P } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "nanovar/nv_bam_parser.pyx":314 + /* "nanovar/nv_bam_parser.pyx":315 * def makegapdict(gap_path, contig_omit): * gapdict = {} * if gap_path is not None: # <<<<<<<<<<<<<< @@ -9217,7 +9268,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_10makegapdict(CYTHON_UNUSED P */ } - /* "nanovar/nv_bam_parser.pyx":321 + /* "nanovar/nv_bam_parser.pyx":322 * except KeyError: * gapdict[line.split('\t')[0]] = [[int(line.split('\t')[1]), int(line.split('\t')[2])]] * for contig in contig_omit: # <<<<<<<<<<<<<< @@ -9228,26 +9279,26 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_10makegapdict(CYTHON_UNUSED P __pyx_t_1 = __pyx_v_contig_omit; __Pyx_INCREF(__pyx_t_1); __pyx_t_7 = 0; __pyx_t_8 = NULL; } else { - __pyx_t_7 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_contig_omit); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 321, __pyx_L1_error) + __pyx_t_7 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_contig_omit); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 322, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_8 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 321, __pyx_L1_error) + __pyx_t_8 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 322, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_8)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_6 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 321, __pyx_L1_error) + __pyx_t_6 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 322, __pyx_L1_error) #else - __pyx_t_6 = PySequence_ITEM(__pyx_t_1, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 321, __pyx_L1_error) + __pyx_t_6 = PySequence_ITEM(__pyx_t_1, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 322, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif } else { if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 321, __pyx_L1_error) + __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 322, __pyx_L1_error) #else - __pyx_t_6 = PySequence_ITEM(__pyx_t_1, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 321, __pyx_L1_error) + __pyx_t_6 = PySequence_ITEM(__pyx_t_1, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 322, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif } @@ -9257,7 +9308,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_10makegapdict(CYTHON_UNUSED P PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 321, __pyx_L1_error) + else __PYX_ERR(0, 322, __pyx_L1_error) } break; } @@ -9266,7 +9317,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_10makegapdict(CYTHON_UNUSED P __Pyx_XDECREF_SET(__pyx_v_contig, __pyx_t_6); __pyx_t_6 = 0; - /* "nanovar/nv_bam_parser.pyx":322 + /* "nanovar/nv_bam_parser.pyx":323 * gapdict[line.split('\t')[0]] = [[int(line.split('\t')[1]), int(line.split('\t')[2])]] * for contig in contig_omit: * try: # <<<<<<<<<<<<<< @@ -9282,22 +9333,22 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_10makegapdict(CYTHON_UNUSED P __Pyx_XGOTREF(__pyx_t_9); /*try:*/ { - /* "nanovar/nv_bam_parser.pyx":323 + /* "nanovar/nv_bam_parser.pyx":324 * for contig in contig_omit: * try: * gapdict[contig].append(contig_omit[contig]) # <<<<<<<<<<<<<< * except KeyError: * gapdict[contig] = [contig_omit[contig]] */ - __pyx_t_6 = __Pyx_PyDict_GetItem(__pyx_v_gapdict, __pyx_v_contig); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 323, __pyx_L18_error) + __pyx_t_6 = __Pyx_PyDict_GetItem(__pyx_v_gapdict, __pyx_v_contig); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 324, __pyx_L18_error) __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_v_contig_omit, __pyx_v_contig); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 323, __pyx_L18_error) + __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_v_contig_omit, __pyx_v_contig); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 324, __pyx_L18_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_14 = __Pyx_PyObject_Append(__pyx_t_6, __pyx_t_5); if (unlikely(__pyx_t_14 == ((int)-1))) __PYX_ERR(0, 323, __pyx_L18_error) + __pyx_t_14 = __Pyx_PyObject_Append(__pyx_t_6, __pyx_t_5); if (unlikely(__pyx_t_14 == ((int)-1))) __PYX_ERR(0, 324, __pyx_L18_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "nanovar/nv_bam_parser.pyx":322 + /* "nanovar/nv_bam_parser.pyx":323 * gapdict[line.split('\t')[0]] = [[int(line.split('\t')[1]), int(line.split('\t')[2])]] * for contig in contig_omit: * try: # <<<<<<<<<<<<<< @@ -9318,7 +9369,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_10makegapdict(CYTHON_UNUSED P __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - /* "nanovar/nv_bam_parser.pyx":324 + /* "nanovar/nv_bam_parser.pyx":325 * try: * gapdict[contig].append(contig_omit[contig]) * except KeyError: # <<<<<<<<<<<<<< @@ -9328,26 +9379,26 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_10makegapdict(CYTHON_UNUSED P __pyx_t_15 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_KeyError); if (__pyx_t_15) { __Pyx_AddTraceback("nanovar.nv_bam_parser.makegapdict", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_12) < 0) __PYX_ERR(0, 324, __pyx_L20_except_error) + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_12) < 0) __PYX_ERR(0, 325, __pyx_L20_except_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_12); - /* "nanovar/nv_bam_parser.pyx":325 + /* "nanovar/nv_bam_parser.pyx":326 * gapdict[contig].append(contig_omit[contig]) * except KeyError: * gapdict[contig] = [contig_omit[contig]] # <<<<<<<<<<<<<< * if gapdict: # Gap file is used or reference genome contigs contain invalid symbols * logging.info('Gap dictionary successfully loaded') */ - __pyx_t_13 = __Pyx_PyObject_GetItem(__pyx_v_contig_omit, __pyx_v_contig); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 325, __pyx_L20_except_error) + __pyx_t_13 = __Pyx_PyObject_GetItem(__pyx_v_contig_omit, __pyx_v_contig); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 326, __pyx_L20_except_error) __Pyx_GOTREF(__pyx_t_13); - __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 325, __pyx_L20_except_error) + __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 326, __pyx_L20_except_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_13); PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_13); __pyx_t_13 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_gapdict, __pyx_v_contig, __pyx_t_4) < 0)) __PYX_ERR(0, 325, __pyx_L20_except_error) + if (unlikely(PyDict_SetItem(__pyx_v_gapdict, __pyx_v_contig, __pyx_t_4) < 0)) __PYX_ERR(0, 326, __pyx_L20_except_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; @@ -9357,7 +9408,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_10makegapdict(CYTHON_UNUSED P goto __pyx_L20_except_error; __pyx_L20_except_error:; - /* "nanovar/nv_bam_parser.pyx":322 + /* "nanovar/nv_bam_parser.pyx":323 * gapdict[line.split('\t')[0]] = [[int(line.split('\t')[1]), int(line.split('\t')[2])]] * for contig in contig_omit: * try: # <<<<<<<<<<<<<< @@ -9377,7 +9428,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_10makegapdict(CYTHON_UNUSED P __pyx_L25_try_end:; } - /* "nanovar/nv_bam_parser.pyx":321 + /* "nanovar/nv_bam_parser.pyx":322 * except KeyError: * gapdict[line.split('\t')[0]] = [[int(line.split('\t')[1]), int(line.split('\t')[2])]] * for contig in contig_omit: # <<<<<<<<<<<<<< @@ -9387,26 +9438,26 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_10makegapdict(CYTHON_UNUSED P } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "nanovar/nv_bam_parser.pyx":326 + /* "nanovar/nv_bam_parser.pyx":327 * except KeyError: * gapdict[contig] = [contig_omit[contig]] * if gapdict: # Gap file is used or reference genome contigs contain invalid symbols # <<<<<<<<<<<<<< * logging.info('Gap dictionary successfully loaded') * return gapdict */ - __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_gapdict); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 326, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_gapdict); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 327, __pyx_L1_error) if (__pyx_t_3) { - /* "nanovar/nv_bam_parser.pyx":327 + /* "nanovar/nv_bam_parser.pyx":328 * gapdict[contig] = [contig_omit[contig]] * if gapdict: # Gap file is used or reference genome contigs contain invalid symbols * logging.info('Gap dictionary successfully loaded') # <<<<<<<<<<<<<< * return gapdict * else: */ - __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_logging); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 327, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_logging); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 328, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_info); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 327, __pyx_L1_error) + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_info); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 328, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = NULL; @@ -9421,12 +9472,12 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_10makegapdict(CYTHON_UNUSED P } __pyx_t_1 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_12, __pyx_kp_s_Gap_dictionary_successfully_load) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_kp_s_Gap_dictionary_successfully_load); __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 327, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 328, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "nanovar/nv_bam_parser.pyx":328 + /* "nanovar/nv_bam_parser.pyx":329 * if gapdict: # Gap file is used or reference genome contigs contain invalid symbols * logging.info('Gap dictionary successfully loaded') * return gapdict # <<<<<<<<<<<<<< @@ -9438,7 +9489,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_10makegapdict(CYTHON_UNUSED P __pyx_r = __pyx_v_gapdict; goto __pyx_L0; - /* "nanovar/nv_bam_parser.pyx":326 + /* "nanovar/nv_bam_parser.pyx":327 * except KeyError: * gapdict[contig] = [contig_omit[contig]] * if gapdict: # Gap file is used or reference genome contigs contain invalid symbols # <<<<<<<<<<<<<< @@ -9447,16 +9498,16 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_10makegapdict(CYTHON_UNUSED P */ } - /* "nanovar/nv_bam_parser.pyx":330 + /* "nanovar/nv_bam_parser.pyx":331 * return gapdict * else: * logging.info('Gap dictionary not loaded.') # <<<<<<<<<<<<<< * return None */ /*else*/ { - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_logging); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 330, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_logging); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 331, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_info); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 330, __pyx_L1_error) + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_info); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 331, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = NULL; @@ -9471,12 +9522,12 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_10makegapdict(CYTHON_UNUSED P } __pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_12, __pyx_t_6, __pyx_kp_s_Gap_dictionary_not_loaded) : __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_kp_s_Gap_dictionary_not_loaded); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 330, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 331, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "nanovar/nv_bam_parser.pyx":331 + /* "nanovar/nv_bam_parser.pyx":332 * else: * logging.info('Gap dictionary not loaded.') * return None # <<<<<<<<<<<<<< @@ -9486,7 +9537,7 @@ static PyObject *__pyx_pf_7nanovar_13nv_bam_parser_10makegapdict(CYTHON_UNUSED P goto __pyx_L0; } - /* "nanovar/nv_bam_parser.pyx":312 + /* "nanovar/nv_bam_parser.pyx":313 * * # Create genome gap dictionary * def makegapdict(gap_path, contig_omit): # <<<<<<<<<<<<<< @@ -9716,11 +9767,11 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { }; static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) { __pyx_builtin_open = __Pyx_GetBuiltinName(__pyx_n_s_open); if (!__pyx_builtin_open) __PYX_ERR(0, 52, __pyx_L1_error) - __pyx_builtin_KeyError = __Pyx_GetBuiltinName(__pyx_n_s_KeyError); if (!__pyx_builtin_KeyError) __PYX_ERR(0, 74, __pyx_L1_error) - __pyx_builtin_sorted = __Pyx_GetBuiltinName(__pyx_n_s_sorted); if (!__pyx_builtin_sorted) __PYX_ERR(0, 117, __pyx_L1_error) - __pyx_builtin_sum = __Pyx_GetBuiltinName(__pyx_n_s_sum); if (!__pyx_builtin_sum) __PYX_ERR(0, 256, __pyx_L1_error) - __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(0, 262, __pyx_L1_error) - __pyx_builtin_round = __Pyx_GetBuiltinName(__pyx_n_s_round); if (!__pyx_builtin_round) __PYX_ERR(0, 271, __pyx_L1_error) + __pyx_builtin_KeyError = __Pyx_GetBuiltinName(__pyx_n_s_KeyError); if (!__pyx_builtin_KeyError) __PYX_ERR(0, 75, __pyx_L1_error) + __pyx_builtin_sorted = __Pyx_GetBuiltinName(__pyx_n_s_sorted); if (!__pyx_builtin_sorted) __PYX_ERR(0, 118, __pyx_L1_error) + __pyx_builtin_sum = __Pyx_GetBuiltinName(__pyx_n_s_sum); if (!__pyx_builtin_sum) __PYX_ERR(0, 257, __pyx_L1_error) + __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(0, 263, __pyx_L1_error) + __pyx_builtin_round = __Pyx_GetBuiltinName(__pyx_n_s_round); if (!__pyx_builtin_round) __PYX_ERR(0, 272, __pyx_L1_error) return 0; __pyx_L1_error:; return -1; @@ -9730,25 +9781,25 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - /* "nanovar/nv_bam_parser.pyx":122 + /* "nanovar/nv_bam_parser.pyx":123 * subdata = entry_parser(temp1, contig_collect, ovlt) * for entry in subdata: * total_subdata.append('\t'.join(entry.split('\t')[0:5])) # <<<<<<<<<<<<<< * # Add to base coverage * basecov += int(entry.split('\t')[2]) */ - __pyx_slice__5 = PySlice_New(__pyx_int_0, __pyx_int_5, Py_None); if (unlikely(!__pyx_slice__5)) __PYX_ERR(0, 122, __pyx_L1_error) + __pyx_slice__5 = PySlice_New(__pyx_int_0, __pyx_int_5, Py_None); if (unlikely(!__pyx_slice__5)) __PYX_ERR(0, 123, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__5); __Pyx_GIVEREF(__pyx_slice__5); - /* "nanovar/nv_bam_parser.pyx":136 + /* "nanovar/nv_bam_parser.pyx":137 * total_out.extend(final) * for i in final: * parse_dict[i.split('\t')[8]] = '\t'.join(i.split('\t')[0:5]) + '\tmm\t' + '\t'.join(i.split('\t')[6:]) # <<<<<<<<<<<<<< * else: # Multiple alignment read * seed += 1 */ - __pyx_slice__6 = PySlice_New(__pyx_int_6, Py_None, Py_None); if (unlikely(!__pyx_slice__6)) __PYX_ERR(0, 136, __pyx_L1_error) + __pyx_slice__6 = PySlice_New(__pyx_int_6, Py_None, Py_None); if (unlikely(!__pyx_slice__6)) __PYX_ERR(0, 137, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__6); __Pyx_GIVEREF(__pyx_slice__6); @@ -9764,65 +9815,65 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { __Pyx_GIVEREF(__pyx_tuple__9); __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(7, 0, 53, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_nanovar_nv_bam_parser_pyx, __pyx_n_s_bam_parse, 29, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) __PYX_ERR(0, 29, __pyx_L1_error) - /* "nanovar/nv_bam_parser.pyx":254 + /* "nanovar/nv_bam_parser.pyx":255 * * * def info_parse(qname, rname, readlen, qlen, flag, nm, total_score, qseg, sseg, del_list, ins_list, minlen=200): # <<<<<<<<<<<<<< * lines = [] * total_del = sum([x for x in del_list]) */ - __pyx_tuple__11 = PyTuple_Pack(36, __pyx_n_s_qname, __pyx_n_s_rname, __pyx_n_s_readlen, __pyx_n_s_qlen, __pyx_n_s_flag, __pyx_n_s_nm, __pyx_n_s_total_score, __pyx_n_s_qseg, __pyx_n_s_sseg, __pyx_n_s_del_list, __pyx_n_s_ins_list, __pyx_n_s_minlen, __pyx_n_s_lines, __pyx_n_s_total_del, __pyx_n_s_total_ins, __pyx_n_s_total_gap, __pyx_n_s_total_mismatch, __pyx_n_s_nsegs, __pyx_n_s_contig_collect, __pyx_n_s_i, __pyx_n_s_substart, __pyx_n_s_substretch, __pyx_n_s_qstart, __pyx_n_s_qstretch, __pyx_n_s_strand, __pyx_n_s_ndel, __pyx_n_s_nins, __pyx_n_s_gaps, __pyx_n_s_subratio, __pyx_n_s_mismatch, __pyx_n_s_matches, __pyx_n_s_pident, __pyx_n_s_score, __pyx_n_s_priority, __pyx_n_s_line, __pyx_n_s_x); if (unlikely(!__pyx_tuple__11)) __PYX_ERR(0, 254, __pyx_L1_error) + __pyx_tuple__11 = PyTuple_Pack(36, __pyx_n_s_qname, __pyx_n_s_rname, __pyx_n_s_readlen, __pyx_n_s_qlen, __pyx_n_s_flag, __pyx_n_s_nm, __pyx_n_s_total_score, __pyx_n_s_qseg, __pyx_n_s_sseg, __pyx_n_s_del_list, __pyx_n_s_ins_list, __pyx_n_s_minlen, __pyx_n_s_lines, __pyx_n_s_total_del, __pyx_n_s_total_ins, __pyx_n_s_total_gap, __pyx_n_s_total_mismatch, __pyx_n_s_nsegs, __pyx_n_s_contig_collect, __pyx_n_s_i, __pyx_n_s_substart, __pyx_n_s_substretch, __pyx_n_s_qstart, __pyx_n_s_qstretch, __pyx_n_s_strand, __pyx_n_s_ndel, __pyx_n_s_nins, __pyx_n_s_gaps, __pyx_n_s_subratio, __pyx_n_s_mismatch, __pyx_n_s_matches, __pyx_n_s_pident, __pyx_n_s_score, __pyx_n_s_priority, __pyx_n_s_line, __pyx_n_s_x); if (unlikely(!__pyx_tuple__11)) __PYX_ERR(0, 255, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__11); __Pyx_GIVEREF(__pyx_tuple__11); - __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(12, 0, 36, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_nanovar_nv_bam_parser_pyx, __pyx_n_s_info_parse, 254, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) __PYX_ERR(0, 254, __pyx_L1_error) + __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(12, 0, 36, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_nanovar_nv_bam_parser_pyx, __pyx_n_s_info_parse, 255, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) __PYX_ERR(0, 255, __pyx_L1_error) - /* "nanovar/nv_bam_parser.pyx":285 + /* "nanovar/nv_bam_parser.pyx":286 * * # Parse segments without breakends * def info_parse_simple(qname, rname, substart, rend, minlen=200): # <<<<<<<<<<<<<< * substretch = rend - substart * if substretch < minlen: */ - __pyx_tuple__13 = PyTuple_Pack(7, __pyx_n_s_qname, __pyx_n_s_rname, __pyx_n_s_substart, __pyx_n_s_rend, __pyx_n_s_minlen, __pyx_n_s_substretch, __pyx_n_s_line); if (unlikely(!__pyx_tuple__13)) __PYX_ERR(0, 285, __pyx_L1_error) + __pyx_tuple__13 = PyTuple_Pack(7, __pyx_n_s_qname, __pyx_n_s_rname, __pyx_n_s_substart, __pyx_n_s_rend, __pyx_n_s_minlen, __pyx_n_s_substretch, __pyx_n_s_line); if (unlikely(!__pyx_tuple__13)) __PYX_ERR(0, 286, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__13); __Pyx_GIVEREF(__pyx_tuple__13); - __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(5, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_nanovar_nv_bam_parser_pyx, __pyx_n_s_info_parse_simple, 285, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) __PYX_ERR(0, 285, __pyx_L1_error) + __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(5, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_nanovar_nv_bam_parser_pyx, __pyx_n_s_info_parse_simple, 286, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) __PYX_ERR(0, 286, __pyx_L1_error) - /* "nanovar/nv_bam_parser.pyx":293 + /* "nanovar/nv_bam_parser.pyx":294 * * # Parse query start and end values according to read direction * def query_sign(start, end, flag, readlen): # <<<<<<<<<<<<<< * if flag in (0, 2048, 256): * return start, end - start, '+' */ - __pyx_tuple__15 = PyTuple_Pack(4, __pyx_n_s_start, __pyx_n_s_end, __pyx_n_s_flag, __pyx_n_s_readlen); if (unlikely(!__pyx_tuple__15)) __PYX_ERR(0, 293, __pyx_L1_error) + __pyx_tuple__15 = PyTuple_Pack(4, __pyx_n_s_start, __pyx_n_s_end, __pyx_n_s_flag, __pyx_n_s_readlen); if (unlikely(!__pyx_tuple__15)) __PYX_ERR(0, 294, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__15); __Pyx_GIVEREF(__pyx_tuple__15); - __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_nanovar_nv_bam_parser_pyx, __pyx_n_s_query_sign, 293, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) __PYX_ERR(0, 293, __pyx_L1_error) + __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_nanovar_nv_bam_parser_pyx, __pyx_n_s_query_sign, 294, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) __PYX_ERR(0, 294, __pyx_L1_error) - /* "nanovar/nv_bam_parser.pyx":302 + /* "nanovar/nv_bam_parser.pyx":303 * * # Set alignment priority according to flag * def align_priority(flag): # <<<<<<<<<<<<<< * if flag in (0, 16): * return 1 */ - __pyx_tuple__17 = PyTuple_Pack(1, __pyx_n_s_flag); if (unlikely(!__pyx_tuple__17)) __PYX_ERR(0, 302, __pyx_L1_error) + __pyx_tuple__17 = PyTuple_Pack(1, __pyx_n_s_flag); if (unlikely(!__pyx_tuple__17)) __PYX_ERR(0, 303, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__17); __Pyx_GIVEREF(__pyx_tuple__17); - __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_nanovar_nv_bam_parser_pyx, __pyx_n_s_align_priority, 302, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) __PYX_ERR(0, 302, __pyx_L1_error) + __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_nanovar_nv_bam_parser_pyx, __pyx_n_s_align_priority, 303, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) __PYX_ERR(0, 303, __pyx_L1_error) - /* "nanovar/nv_bam_parser.pyx":312 + /* "nanovar/nv_bam_parser.pyx":313 * * # Create genome gap dictionary * def makegapdict(gap_path, contig_omit): # <<<<<<<<<<<<<< * gapdict = {} * if gap_path is not None: */ - __pyx_tuple__19 = PyTuple_Pack(6, __pyx_n_s_gap_path, __pyx_n_s_contig_omit, __pyx_n_s_gapdict, __pyx_n_s_rgapdata, __pyx_n_s_line, __pyx_n_s_contig); if (unlikely(!__pyx_tuple__19)) __PYX_ERR(0, 312, __pyx_L1_error) + __pyx_tuple__19 = PyTuple_Pack(6, __pyx_n_s_gap_path, __pyx_n_s_contig_omit, __pyx_n_s_gapdict, __pyx_n_s_rgapdata, __pyx_n_s_line, __pyx_n_s_contig); if (unlikely(!__pyx_tuple__19)) __PYX_ERR(0, 313, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__19); __Pyx_GIVEREF(__pyx_tuple__19); - __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_nanovar_nv_bam_parser_pyx, __pyx_n_s_makegapdict, 312, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) __PYX_ERR(0, 312, __pyx_L1_error) + __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_nanovar_nv_bam_parser_pyx, __pyx_n_s_makegapdict, 313, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) __PYX_ERR(0, 313, __pyx_L1_error) __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -10211,64 +10262,64 @@ if (!__Pyx_RefNanny) { if (PyDict_SetItem(__pyx_d, __pyx_n_s_bam_parse, __pyx_t_1) < 0) __PYX_ERR(0, 29, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "nanovar/nv_bam_parser.pyx":254 + /* "nanovar/nv_bam_parser.pyx":255 * * * def info_parse(qname, rname, readlen, qlen, flag, nm, total_score, qseg, sseg, del_list, ins_list, minlen=200): # <<<<<<<<<<<<<< * lines = [] * total_del = sum([x for x in del_list]) */ - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_7nanovar_13nv_bam_parser_3info_parse, NULL, __pyx_n_s_nanovar_nv_bam_parser); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 254, __pyx_L1_error) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_7nanovar_13nv_bam_parser_3info_parse, NULL, __pyx_n_s_nanovar_nv_bam_parser); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 255, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_info_parse, __pyx_t_1) < 0) __PYX_ERR(0, 254, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_info_parse, __pyx_t_1) < 0) __PYX_ERR(0, 255, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "nanovar/nv_bam_parser.pyx":285 + /* "nanovar/nv_bam_parser.pyx":286 * * # Parse segments without breakends * def info_parse_simple(qname, rname, substart, rend, minlen=200): # <<<<<<<<<<<<<< * substretch = rend - substart * if substretch < minlen: */ - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_7nanovar_13nv_bam_parser_5info_parse_simple, NULL, __pyx_n_s_nanovar_nv_bam_parser); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 285, __pyx_L1_error) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_7nanovar_13nv_bam_parser_5info_parse_simple, NULL, __pyx_n_s_nanovar_nv_bam_parser); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 286, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_info_parse_simple, __pyx_t_1) < 0) __PYX_ERR(0, 285, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_info_parse_simple, __pyx_t_1) < 0) __PYX_ERR(0, 286, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "nanovar/nv_bam_parser.pyx":293 + /* "nanovar/nv_bam_parser.pyx":294 * * # Parse query start and end values according to read direction * def query_sign(start, end, flag, readlen): # <<<<<<<<<<<<<< * if flag in (0, 2048, 256): * return start, end - start, '+' */ - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_7nanovar_13nv_bam_parser_7query_sign, NULL, __pyx_n_s_nanovar_nv_bam_parser); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 293, __pyx_L1_error) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_7nanovar_13nv_bam_parser_7query_sign, NULL, __pyx_n_s_nanovar_nv_bam_parser); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 294, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_query_sign, __pyx_t_1) < 0) __PYX_ERR(0, 293, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_query_sign, __pyx_t_1) < 0) __PYX_ERR(0, 294, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "nanovar/nv_bam_parser.pyx":302 + /* "nanovar/nv_bam_parser.pyx":303 * * # Set alignment priority according to flag * def align_priority(flag): # <<<<<<<<<<<<<< * if flag in (0, 16): * return 1 */ - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_7nanovar_13nv_bam_parser_9align_priority, NULL, __pyx_n_s_nanovar_nv_bam_parser); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 302, __pyx_L1_error) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_7nanovar_13nv_bam_parser_9align_priority, NULL, __pyx_n_s_nanovar_nv_bam_parser); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 303, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_align_priority, __pyx_t_1) < 0) __PYX_ERR(0, 302, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_align_priority, __pyx_t_1) < 0) __PYX_ERR(0, 303, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "nanovar/nv_bam_parser.pyx":312 + /* "nanovar/nv_bam_parser.pyx":313 * * # Create genome gap dictionary * def makegapdict(gap_path, contig_omit): # <<<<<<<<<<<<<< * gapdict = {} * if gap_path is not None: */ - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_7nanovar_13nv_bam_parser_11makegapdict, NULL, __pyx_n_s_nanovar_nv_bam_parser); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 312, __pyx_L1_error) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_7nanovar_13nv_bam_parser_11makegapdict, NULL, __pyx_n_s_nanovar_nv_bam_parser); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 313, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_makegapdict, __pyx_t_1) < 0) __PYX_ERR(0, 312, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_makegapdict, __pyx_t_1) < 0) __PYX_ERR(0, 313, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "nanovar/nv_bam_parser.pyx":1 diff --git a/nanovar/nv_bam_parser.pyx b/nanovar/nv_bam_parser.pyx index 0a0ce0b..6a7f80d 100644 --- a/nanovar/nv_bam_parser.pyx +++ b/nanovar/nv_bam_parser.pyx @@ -1,7 +1,7 @@ """ Parses BAM file and analyse CIGARS -Copyright (C) 2019 Tham Cheng Yong +Copyright (C) 2021 Tham Cheng Yong This file is part of NanoVar. @@ -56,6 +56,7 @@ def bam_parse(bam, unsigned int minlen, float splitpct, unsigned int minalign, s qname = seg.query_name if flag == 4: fasta2.write('>' + qname + '\n' + seg.query_sequence + '\n') + fasta.write('>' + qname + '\n' + seg.query_sequence + '\n') rlendict[qname] = len(seg.query_sequence) continue rname = seg.reference_name @@ -202,7 +203,7 @@ cdef read_cigar(list cigar_tup, float minlen, float splitpct, unsigned int rstar for t, move in cigar_tup: if t in (4, 5): # S or H qlast += move - elif t == 0: # M + elif t in (0, 7, 8): # M or = or X qlast += move slast += move elif t == 2: # D diff --git a/nanovar/nv_characterize.py b/nanovar/nv_characterize.py index e61e571..2d962f8 100644 --- a/nanovar/nv_characterize.py +++ b/nanovar/nv_characterize.py @@ -1,7 +1,7 @@ """ Method for SV characterization -Copyright (C) 2019 Tham Cheng Yong +Copyright (C) 2021 Tham Cheng Yong This file is part of NanoVar. @@ -31,13 +31,15 @@ from nanovar.nv_cov_upper import ovl_upper from nanovar.nv_vcf import create_vcf from nanovar.nv_report import create_report +from cytocad.change_detection import cad +from cytocad.ideogram import tagore_wrapper class VariantDetect: def __init__(self, wk_dir, bam, splitpct, minalign, filter_path, minlen, buff, model_path, total_gsize, contig_len_dict, thres, read_path, read_name, ref_path, ref_name, map_cmd, mincov, homo_t, het_t, debug, - contig_omit): + contig_omit, cnv): self.dir = wk_dir self.bam = bam self.splitpct = splitpct @@ -59,7 +61,8 @@ def __init__(self, wk_dir, bam, splitpct, minalign, filter_path, minlen, buff, m self.homo_t = homo_t self.het_t = het_t self.debug = debug - self.basecov, self.maxovl, self.depth = 0, 0, 0 + self.cnv = cnv + self.basecov, self.maxovl, self.depth, self.maxovl3 = 0, 0, 0, 0 self.total_out, self.total_subdata, self.out_nn, self.ins_out, self.out_rest, self.detect_out = [], [], [], [], [], [] self.rlendict, self.parse_dict = {}, {} # HTML SV table entry limit @@ -80,8 +83,17 @@ def bam_parse_detect(self): def coverage_stats(self): # Obtaining upper cov limit and depth of coverage - self.maxovl, self.depth = ovl_upper(self.gsize, self.contig, self.basecov, self.total_subdata, - self.dir) + self.maxovl, self.depth, self.maxovl3 = ovl_upper(self.gsize, self.contig, self.basecov, self.total_subdata, self.dir) + # CNV detection using cytocad + if self.cnv: + cnv_out, tag = cad(self.total_subdata, self.depth, self.maxovl3, self.rname, ref_build=self.cnv, cov_plots=True, + wk_dir=self.dir) + tagore_wrapper(tag, self.rname, self.dir, self.cnv, 'png') + cnv_out_path = os.path.join(self.dir, self.rname + ".CNV.bed") + outwrite = open(cnv_out_path, 'w') + _ = outwrite.write('\n'.join(cnv_out)) + outwrite.close() + logging.info("CNV analysis completed.") # Report statistics of coverage logging.info("Genome size: %s bases" % str(self.gsize)) logging.info("Mapped bases: %s bases" % str(self.basecov)) @@ -165,10 +177,10 @@ def parse_detect_hsb(self): if not self.debug: # Remove blast table if not debug mode os.remove(self.bam) - def vcf_report(self): + def vcf_report(self, index2te): logging.info("Creating VCF") create_vcf(self.dir, self.thres, self.out_nn, self.refpath, self.rpath, self.rname, self.mapcmd, self.contig, - self.homo_t, self.het_t, self.minlen, self.depth) + self.homo_t, self.het_t, self.minlen, self.depth, index2te) logging.info("Creating HTML report") create_report(self.dir, self.contig, self.thres, self.rpath, self.refpath, self.rlendict, self.rname, self.num_limit, self.ratio_limit) @@ -192,7 +204,7 @@ def fasta_extract(self, qnames): except KeyError: _ = next(f) out.close() - os.remove(fasta) + # os.remove(fasta) # Write to files diff --git a/nanovar/nv_cluster.py b/nanovar/nv_cluster.py index a14cec1..05c7bf7 100644 --- a/nanovar/nv_cluster.py +++ b/nanovar/nv_cluster.py @@ -1,7 +1,7 @@ """ Functions for SV breakend clustering. -Copyright (C) 2019 Tham Cheng Yong +Copyright (C) 2021 Tham Cheng Yong This file is part of NanoVar. @@ -126,31 +126,57 @@ def rangecollect(x, buf, contigs, hsb_switch, mincov): leftclust[chm1][rnameidx + '-l'] = le rightclust[chm1][rnameidx + '-r'] = le else: - raise Exception('Error, single SV breakend has unknown naming') + raise Exception('Error: single SV breakend %s has unknown naming' % rnameidx) elif len(i.split('\t')[6].split('~')[1].split(':')[1].split('-')) == 2: # If double breakends chm1 = i.split('\t')[6].split('~')[1].split(':')[0] # Get contig name le = int(i.split('\t')[6].split('~')[1].split(':')[1].split('-')[0]) # Get default left coord r = int(i.split('\t')[6].split('~')[1].split(':')[1].split('-')[1]) # Get default right coord if svtype == 'TDupl': # If tandem dup, reverse left and right groups - leftclust[chm1][rnameidx + '-l'] = r - rightclust[chm1][rnameidx + '-r'] = le + leftclust[chm1][rnameidx + '-r'] = r + rightclust[chm1][rnameidx + '-l'] = le + elif svtype in ['Inv', 'Inv2']: + col4s = i.split('\t')[3].split(' ')[1].split('~')[1] # Get SV strand info + if col4s.split(',')[0] == '+' and col4s.split(',')[1] == '-': + leftclust[chm1][rnameidx + '-l'] = le + leftclust[chm1][rnameidx + '-r'] = r + elif col4s.split(',')[0] == '-' and col4s.split(',')[1] == '+': + rightclust[chm1][rnameidx + '-l'] = le + rightclust[chm1][rnameidx + '-r'] = r + elif col4s.split(',')[0] == '+' and col4s.split(',')[1] == '+': + leftclust[chm1][rnameidx + '-l'] = le + rightclust[chm1][rnameidx + '-r'] = r + elif col4s.split(',')[0] == '-' and col4s.split(',')[1] == '-': + rightclust[chm1][rnameidx + '-l'] = le + leftclust[chm1][rnameidx + '-r'] = r + else: + raise Exception('Error: Inversion % has unidentified strand orientation' % rnameidx) + elif svtype in ['Intra-Ins', 'Intra-Ins2']: + col4s = i.split('\t')[3].split(' ')[1].split('~')[1] # Get SV strand info + if col4s.split(',')[0] == '+': + leftclust[chm1][rnameidx + '-l'] = le + elif col4s.split(',')[0] == '-': + rightclust[chm1][rnameidx + '-l'] = le + if col4s.split(',')[1] == '+': + rightclust[chm1][rnameidx + '-r'] = r + elif col4s.split(',')[1] == '-': + leftclust[chm1][rnameidx + '-r'] = r else: leftclust[chm1][rnameidx + '-l'] = le rightclust[chm1][rnameidx + '-r'] = r elif len(i.split('\t')[6].split('~')) == 3: # Inter translocation chm1 = i.split('\t')[6].split('~')[1].split(':')[0] # Get contig name1 chm2 = i.split('\t')[6].split('~')[2].split(':')[0] # Get contig name2 - col4 = i.split('\t')[3].split(' ')[1].split('~')[1] # Get SV type label + col4s = i.split('\t')[3].split(' ')[1].split('~')[1] # Get SV strand info le = int(i.split('\t')[6].split('~')[1].split(':')[1]) # Get default left coord r = int(i.split('\t')[6].split('~')[2].split(':')[1]) # Get default right coord # Assign coord to left or right group depending on strand - if col4.split(',')[0] == '+': + if col4s.split(',')[0] == '+': leftclust[chm1][rnameidx + '-l'] = le - elif col4.split(',')[0] == '-': + elif col4s.split(',')[0] == '-': rightclust[chm1][rnameidx + '-l'] = le - if col4.split(',')[1] == '+': + if col4s.split(',')[1] == '+': rightclust[chm2][rnameidx + '-r'] = r - elif col4.split(',')[1] == '-': + elif col4s.split(',')[1] == '-': leftclust[chm2][rnameidx + '-r'] = r else: raise Exception('Error: %s is missed' % rnameidx) @@ -167,10 +193,10 @@ def rangecollect(x, buf, contigs, hsb_switch, mincov): rightchrnamelist[chrm] = [] rightchrcoorlist[chrm] = [] for key in leftclust[chrm]: - leftchrnamelist[chrm].append(key[:-2]) + leftchrnamelist[chrm].append(key) # [:-2] leftchrcoorlist[chrm].append(leftclust[chrm][key]) for key in rightclust[chrm]: - rightchrnamelist[chrm].append(key[:-2]) + rightchrnamelist[chrm].append(key) # [:-2] rightchrcoorlist[chrm].append(rightclust[chrm][key]) # Carry out clustering @@ -225,21 +251,21 @@ def cluster(leftchrnamelist, groupnames.append(leftchrnamelist[chrm][i]) else: avgcoord = int(round(sum(group) / len(group), 0)) - leftcluster2read[chrm + ':' + str(avgcoord)] = sorted(set(groupnames)) + leftcluster2read[chrm + ':' + str(avgcoord)] = sorted(set(y[:-2] for y in groupnames)) for read in sorted(set(groupnames)): - if read not in read2cluster: - read2cluster[read] = [] - read2cluster[read].append(chrm + ':' + str(avgcoord)) + if read[:-2] not in read2cluster: + read2cluster[read[:-2]] = [] + read2cluster[read[:-2]].append(chrm + ':' + str(avgcoord) + 'l') group = [leftchrcoorlist[chrm][i]] groupnames = [leftchrnamelist[chrm][i]] last = leftchrcoorlist[chrm][i] if group: avgcoord = int(round(sum(group) / len(group), 0)) - leftcluster2read[chrm + ':' + str(avgcoord)] = sorted(set(groupnames)) + leftcluster2read[chrm + ':' + str(avgcoord)] = sorted(set(y[:-2] for y in groupnames)) for read in sorted(set(groupnames)): - if read not in read2cluster: - read2cluster[read] = [] - read2cluster[read].append(chrm + ':' + str(avgcoord)) + if read[:-2] not in read2cluster: + read2cluster[read[:-2]] = [] + read2cluster[read[:-2]].append(chrm + ':' + str(avgcoord) + 'l') # Right group clustering for chrm in rightchrnamelist: @@ -253,21 +279,21 @@ def cluster(leftchrnamelist, groupnames.append(rightchrnamelist[chrm][i]) else: avgcoord = int(round(sum(group) / len(group), 0)) - rightcluster2read[chrm + ':' + str(avgcoord)] = sorted(set(groupnames)) + rightcluster2read[chrm + ':' + str(avgcoord)] = sorted(set(y[:-2] for y in groupnames)) for read in sorted(set(groupnames)): - if read not in read2cluster: - read2cluster[read] = [] - read2cluster[read].append(chrm + ':' + str(avgcoord)) + if read[:-2] not in read2cluster: + read2cluster[read[:-2]] = [] + read2cluster[read[:-2]].append(chrm + ':' + str(avgcoord) + 'r') group = [rightchrcoorlist[chrm][i]] groupnames = [rightchrnamelist[chrm][i]] last = rightchrcoorlist[chrm][i] if group: avgcoord = int(round(sum(group) / len(group), 0)) - rightcluster2read[chrm + ':' + str(avgcoord)] = sorted(set(groupnames)) + rightcluster2read[chrm + ':' + str(avgcoord)] = sorted(set(y[:-2] for y in groupnames)) for read in sorted(set(groupnames)): - if read not in read2cluster: - read2cluster[read] = [] - read2cluster[read].append(chrm + ':' + str(avgcoord)) + if read[:-2] not in read2cluster: + read2cluster[read[:-2]] = [] + read2cluster[read[:-2]].append(chrm + ':' + str(avgcoord) + 'r') """ - leftcluster2read or rightcluster2read: Dict, key=cluster, value=list of read_ids having the cluster - read2cluster: Dict, key=read_id, value=cluster @@ -307,24 +333,30 @@ def cluster(leftchrnamelist, for coord in clusterlink: # For clusters that are either unpaired or paired (left) if not clusterlink[coord]: # If cluster is unpaired, which means single breakend SVs if not hsb_switch: - if coord in leftcluster2read: - if coord in rightcluster2read: - readlist = list(set(leftcluster2read[coord] + rightcluster2read[coord])) - else: - readlist = leftcluster2read[coord] + if coord[-1] == 'l': + readlist = leftcluster2read[coord[:-1]] + # if coord in rightcluster2read: + # readlist = list(set(leftcluster2read[coord] + rightcluster2read[coord])) + # else: + # readlist = leftcluster2read[coord] + elif coord[-1] == 'r': + readlist = rightcluster2read[coord[:-1]] else: - readlist = rightcluster2read[coord] + raise Exception('Error: Coord %s did not specify direction' % coord) lead, main = leadread_bp(readlist, svsizedict, classdict) # Gather lead read if len({x.rsplit('~', 1)[0] for x in readlist}) >= min(2, mincov): cluster_parse[coord + '~' + main] = sorted(readlist) else: - if coord in leftcluster2read: - if coord in rightcluster2read: - readlist = list(set(leftcluster2read[coord] + rightcluster2read[coord])) - else: - readlist = leftcluster2read[coord] + if coord[-1] == 'l': + readlist = leftcluster2read[coord[:-1]] + # if coord in rightcluster2read: + # readlist = list(set(leftcluster2read[coord] + rightcluster2read[coord])) + # else: + # readlist = leftcluster2read[coord] + elif coord[-1] == 'r': + readlist = rightcluster2read[coord[:-1]] else: - readlist = rightcluster2read[coord] + raise Exception('Error: Coord %s did not specify direction' % coord) mm = [] hsb = [] for r in readlist: @@ -333,7 +365,7 @@ def cluster(leftchrnamelist, elif len(r.rsplit('~', 1)[1]) == 4: # hsb hsb.append(r.rsplit('~', 1)[0]) else: - raise Exception('Error: %d read has unrecognised unique ID' % r) + raise Exception('Error: %s read has unrecognised unique ID' % r) for r in mm: if r.rsplit('~', 1)[0] in hsb: readlist.remove(r) # Remove minimap reads if blast reads present in read list @@ -342,23 +374,36 @@ def cluster(leftchrnamelist, readteam[coord].extend(sorted(set(readlist).difference([lead]))) # Append remaining reads mainclass[coord] = main else: # If cluster is paired (left) - if coord in leftcluster2read: - if coord in rightcluster2read: - reads1 = list(set(leftcluster2read[coord] + rightcluster2read[coord])) - else: - reads1 = leftcluster2read[coord] + if coord[-1] == 'l': + reads1 = leftcluster2read[coord[:-1]] + # if coord in rightcluster2read: + # reads1 = list(set(leftcluster2read[coord] + rightcluster2read[coord])) + # else: + # reads1 = leftcluster2read[coord] + elif coord[-1] == 'r': + reads1 = rightcluster2read[coord[:-1]] + # raise Exception('First coord in clusterlink %s is not in leftcluster' % str(coord)) + # reads1 = rightcluster2read[coord] else: - reads1 = rightcluster2read[coord] + raise Exception('Error: Coord %s did not specify direction' % coord) for coord2 in clusterlink[coord]: - if coord2 in leftcluster2read: - if coord2 in rightcluster2read: - reads2 = list(set(leftcluster2read[coord2] + rightcluster2read[coord2])) - else: - reads2 = leftcluster2read[coord2] + if coord2[-1] == 'l': + reads2 = leftcluster2read[coord2[:-1]] + # if coord2 in rightcluster2read: + # reads2 = list(set(leftcluster2read[coord2] + rightcluster2read[coord2])) + # else: + # reads2 = leftcluster2read[coord2] + elif coord2[-1] == 'r': + # reads2 = rightcluster2read[coord2] + reads2 = rightcluster2read[coord2[:-1]] + # raise Exception('Second coord in clusterlink %s is not in rightcluster' % str(coord2)) else: - reads2 = rightcluster2read[coord2] + raise Exception('Error: Coord %s did not specify direction' % coord2) readlist0 = sorted(set(reads1).intersection(reads2)) # Get reads that intersect with both clusters readlist = [x for x in readlist0 if x not in pastbps] + if coord[-1] in ['l', 'r']: + coord = coord[:-1] + coord2 = coord2[:-1] if readlist: for i in readlist: pastbps[i] = 1 @@ -370,7 +415,7 @@ def cluster(leftchrnamelist, pastbps[read] = 1 lead, main = leadread(sorted(set(readlist)), svsizedict, classdict, hsb_switch) # Filter 2 - # Delete cluster if it is supported by = min(2, mincov): cluster_parse[coord + '-' + coord2 + '~' + main] = sorted(readlist) @@ -383,7 +428,7 @@ def cluster(leftchrnamelist, str(int(round((int(coord.split(':')[1]) + int(coord2.split(':')[1])) / 2, 0))) cluster_parse[avg_coord + '~' + main] = sorted(readlist) else: - if svsizedict[readlist[0]] >= 100: # Arbituary threshold for small deletions + if svsizedict[readlist[0]] >= 100: # Arbituary threshold for small insertions avg_coord = coord.split(':')[0] + ':' + \ str(int(round((int(coord.split(':')[1]) + int(coord2.split(':')[1])) / 2, 0))) cluster_parse[avg_coord + '~' + main] = sorted(readlist) @@ -393,41 +438,44 @@ def cluster(leftchrnamelist, lead, main = leadread(sorted(set(readlist)), svsizedict, classdict, hsb_switch) for read in sorted(set(reads1).difference(reads2)) + sorted(set(reads2).difference(reads1)): if classdict[read] == 'bp_Nov_Ins': - if main in ['Del', 'Intra-Ins', 'Inter', 'Nov_Ins', 'Inter-Ins', 'Intra-Ins2']: - if read not in pastbps: - readlist.append(read) - pastbps[read] = 1 + # if main in ['Del', 'Intra-Ins', 'Inter', 'Nov_Ins', 'Inter-Ins', 'Intra-Ins2']: + if read not in pastbps: + readlist.append(read) + pastbps[read] = 1 else: if main == 'Del': if classdict[read] in ['Del']: if read not in pastbps: readlist.append(read) pastbps[read] = 1 - elif main in ['Intra-Ins', 'Inter', 'Nov_Ins', 'Inter-Ins', 'Intra-Ins2']: - if classdict[read] in ['Intra-Ins', 'Inter']: + elif main in ['Intra-Ins', 'Intra-Ins2']: + if classdict[read] in ['Nov_Ins', 'Intra-Ins', 'Intra-Ins2']: if read not in pastbps: readlist.append(read) pastbps[read] = 1 - elif classdict[read] in ['Nov_Ins', 'Inter-Ins', 'Intra-Ins2']: + elif main in ['Inter', 'Inter-Ins']: + if classdict[read] in ['Nov_Ins', 'Inter', 'Inter-Ins']: if read not in pastbps: readlist.append(read) pastbps[read] = 1 - else: - if pastbps[read] == 1: # Allow to be clustered one more time - pastbps[read] = 2 - readlist.append(read) elif main in ['Inv', 'Inv2']: - if classdict[read] in ['Inv', 'Inv2']: + if classdict[read] in ['Nov_Ins', 'Inv', 'Inv2']: if read not in pastbps: readlist.append(read) pastbps[read] = 1 - elif main in ['TDupl']: - if classdict[read] in ['TDupl']: + elif main in 'TDupl': + if classdict[read] in ['Nov_Ins', 'TDupl']: + if read not in pastbps: + readlist.append(read) + pastbps[read] = 1 + elif main == 'Nov_Ins': + if classdict[read] in ['Intra-Ins', 'Intra-Ins2', 'Inter', 'Inter-Ins', 'TDupl']: if read not in pastbps: readlist.append(read) pastbps[read] = 1 else: - raise Exception('Error: Main SV type in cluster %d is not recognised' % (coord+coord2)) + raise Exception('Error: Main SV type in cluster %s with lead %s is not recognised' % + ((coord+coord2), lead)) # Remove duplicate reads from mm mm = [] hsb = [] @@ -439,9 +487,18 @@ def cluster(leftchrnamelist, else: raise Exception('Error: %d read has unrecognised unique ID' % r) for r in mm: - if r.rsplit('~', 1)[0] in hsb: - readlist.remove(r) # Remove minimap reads if blast reads present in read list - lead, main = leadread(sorted(set(readlist)), svsizedict, classdict, hsb_switch) + rn = r.rsplit('~', 1)[0] + if rn in hsb: + if r == lead: + # readlist.remove(r) # Remove blast read if mm read is leader present in read list + for rl in readlist: + if rl.rsplit('~', 1)[0] == rn and len(rl.rsplit('~', 1)[1]) == 4: + readlist.remove(rl) + # lead = rl + # main = classdict[rl] + else: + readlist.remove(r) # Remove minimap reads if blast reads present in read list + # lead, main = leadread(sorted(set(readlist)), svsizedict, classdict, hsb_switch) if main == 'Nov_Ins': avg_coord = coord.split(':')[0] + ':' + \ str(int(round((int(coord.split(':')[1]) + int(coord2.split(':')[1])) / 2, 0))) @@ -498,7 +555,7 @@ def leadread_bp(reads, svsizedict, classdict): leader = read break if leader == '': - raise Exception("Error: Main SV class not found") + raise Exception("Error: Main SV class not found for reads %s" % ','.join(reads)) return leader, mainsvclass @@ -580,7 +637,7 @@ def svbed2(readteam, mainclass): totalsvbed = [] for clusters in readteam: svtype = mainclass[clusters] - c = clusters.split('-') + c = [x.strip('lr') for x in clusters.split('-')] totalsvbed.append(c[0].split(':')[0] + '\t' + c[0].split(':')[1] + '\t' + str(int(c[0].split(':')[1]) + 1) + '\t' + clusters + '\t' + svtype + '\t' + '1') if svtype in ['Nov_Ins', 'bp_Nov_Ins']: @@ -672,8 +729,8 @@ def arrange(svnormalcov, readteam, maxovl, mincov, infodict, mainclass, svsizedi if len(clusters.split('-')) == 1: output.append( '\t'.join(infodict[bestread].split('\t')[0:6]) + '\tnv_SV' + str(n) + '-' + - infodict[bestread].split('\t')[6].split('~')[0] + '~' + clusters + '-' + - str(int(clusters.split(':')[1]) + 1) + '\t' + + infodict[bestread].split('\t')[6].split('~')[0] + '~' + clusters.strip('lr') + '-' + + str(int(clusters.strip('lr').split(':')[1]) + 1) + '\t' + '\t'.join(infodict[bestread].split('\t')[7:]) + '\t' + str(lcov) + '\t' + ','.join(dotter(readteam[clusters])) + '\t' + str(svnormalcov[clusters]) ) diff --git a/nanovar/nv_cov_upper.py b/nanovar/nv_cov_upper.py index c5ca369..bece1c0 100644 --- a/nanovar/nv_cov_upper.py +++ b/nanovar/nv_cov_upper.py @@ -1,7 +1,7 @@ """ Functions to calculate the upper limit for long-read SV depth coverage. -Copyright (C) 2019 Tham Cheng Yong +Copyright (C) 2021 Tham Cheng Yong This file is part of NanoVar. @@ -63,9 +63,10 @@ def ovl_upper(total_gsize, contig_len_dict, basecov, subdata, wk_dir): curve(data2, n, round((medad*6) + med, 0), wk_dir) depth = round(float(basecov)/total_gsize, 2) maxovl = max(round((medad * 4) + med, 1), 10) # minimum overlap threshold is set at 10 + maxovl3 = max(round((medad * 3) + med, 1), 10) # me = np.mean(data2) # std = np.std(data2) - return maxovl, depth # , me, std, med, medad + return maxovl, depth, maxovl3 # Make genome size file diff --git a/nanovar/nv_detect_algo.py b/nanovar/nv_detect_algo.py index 4a3bd38..ec92e80 100644 --- a/nanovar/nv_detect_algo.py +++ b/nanovar/nv_detect_algo.py @@ -1,7 +1,7 @@ """ SV detection algorithm. -Copyright (C) 2019 Tham Cheng Yong +Copyright (C) 2021 Tham Cheng Yong This file is part of NanoVar. @@ -245,7 +245,7 @@ def sv_detect(subdata, splitpct, minalign, gapdict): str(int(subject[i][1]) + 1)) sv_range.append('Nov_Ins:' + str(query[i][1]) + '-' + str(query[i + 1][0])) # Same strandness (2) - if tmpread[i].split('\t')[7] == '-' and tmpread[i + 1].split('\t')[7] == '-': + elif tmpread[i].split('\t')[7] == '-' and tmpread[i + 1].split('\t')[7] == '-': if i != int(g - 1): # Prevent duplicate record # Gapstudy subjgap = subject[i][1] - subject[i + 1][0] diff --git a/nanovar/nv_input.py b/nanovar/nv_input.py index 15aff03..c444bf0 100644 --- a/nanovar/nv_input.py +++ b/nanovar/nv_input.py @@ -1,7 +1,7 @@ """ Functions for parsing and verifying input parameters. -Copyright (C) 2019 Tham Cheng Yong +Copyright (C) 2021 Tham Cheng Yong This file is part of NanoVar. @@ -52,6 +52,12 @@ def restrict_float(f): help="""path to work directory. Directory will be created if it does not exist.""") + parser.add_argument("--cnv", type=str, metavar="hg38", + default=None, + help="""also detects large genomic copy-number variations +using CytoCAD (e.g. loss/gain of whole chromosomes). +Only works with hg38 genome assembly. Please state 'hg38' [None]""") + parser.add_argument("-x", "--data_type", type=str, metavar="str", default='ont', help="""type of long-read data [ont] @@ -136,6 +142,15 @@ def restrict_float(f): parser.add_argument("--hsb", type=str, metavar="path", help="specify path to 'hs-blastn' executable") + parser.add_argument("--pickle", action='store_true', + help=argparse.SUPPRESS) + + parser.add_argument("--archivefasta", action='store_true', + help=argparse.SUPPRESS) + + parser.add_argument("--blastout", type=str, metavar="path", + help=argparse.SUPPRESS) + args = parser.parse_args(args) return args diff --git a/nanovar/nv_nn.py b/nanovar/nv_nn.py index 38a35db..3ecf629 100644 --- a/nanovar/nv_nn.py +++ b/nanovar/nv_nn.py @@ -1,7 +1,7 @@ """ Functions for NN model inferencing using Keras module. -Copyright (C) 2019 Tham Cheng Yong +Copyright (C) 2021 Tham Cheng Yong This file is part of NanoVar. diff --git a/nanovar/nv_parser.py b/nanovar/nv_parser.py index d901cf1..e67e92b 100644 --- a/nanovar/nv_parser.py +++ b/nanovar/nv_parser.py @@ -1,7 +1,7 @@ """ Parsing algorithm. -Copyright (C) 2019 Tham Cheng Yong +Copyright (C) 2021 Tham Cheng Yong This file is part of NanoVar. @@ -265,7 +265,7 @@ def breakpoint_parser(out, minlen, sig_index, seed, aligner): coord1 = int(out.split('\t')[11].split(' ')[1].split(',')[int(inv_count - inv_counter)].split(':')[1].split('-')[0]) coord2 = int(out.split('\t')[11].split(' ')[1].split(',')[int(inv_count - inv_counter)].split(':')[1].split('-')[1]) pair = '.' - uniqidx = bp_uname + '~' + str(chrom) + ':' + str(min(coord1, coord2)) + '-' + str(max(coord1, coord2)) + uniqidx = bp_uname + '~' + str(chrom) + ':' + str(coord1) + '-' + str(coord2) uniqname = read_name + '~' + bp_uname final.append( str(read_name) + '\t' + str(bp1) + '\t' + str(bp2) + '\t' + str(bp_name) + ' 99.99' + '~' + @@ -279,7 +279,7 @@ def breakpoint_parser(out, minlen, sig_index, seed, aligner): coord2 = int(out.split('\t')[11].split(' ')[1].split(',')[int(inv_count - inv_counter)].split(':')[1].split('-')[1]) inv_size = out.split('\t')[11].split(' ')[0].split(',')[int(inv_count - inv_counter)].split('nv')[1] pair = 'Inv1' - uniqidx = bp_uname + '~' + str(chrom) + ':' + str(min(coord1, coord2)) + '-' + str(max(coord1, coord2)) + uniqidx = bp_uname + '~' + str(chrom) + ':' + str(coord1) + '-' + str(coord2) uniqname = read_name + '~' + bp_uname if int(inv_size) >= minlen: final.append( @@ -294,7 +294,7 @@ def breakpoint_parser(out, minlen, sig_index, seed, aligner): coord2 = int(out.split('\t')[11].split(' ')[1].split(',')[int(inv_count - inv_counter)].split(':')[1].split('-')[1]) inv_size = out.split('\t')[11].split(' ')[0].split(',')[int(inv_count - inv_counter)].split('nv')[1] pair = 'Inv2' - uniqidx = bp_uname + '~' + str(chrom) + ':' + str(min(coord1, coord2)) + '-' + str(max(coord1, coord2)) + uniqidx = bp_uname + '~' + str(chrom) + ':' + str(coord1) + '-' + str(coord2) uniqname = read_name + '~' + bp_uname if int(inv_size) >= minlen: final.append( diff --git a/nanovar/nv_report.py b/nanovar/nv_report.py index 7a8c9a6..9b0282f 100644 --- a/nanovar/nv_report.py +++ b/nanovar/nv_report.py @@ -1,7 +1,7 @@ """ Functions to create HTML report. -Copyright (C) 2019 Tham Cheng Yong +Copyright (C) 2021 Tham Cheng Yong This file is part of NanoVar. @@ -39,7 +39,8 @@ def create_report(wk_dir, contig_len_dict, thres, read_path, ref_path, rlen_dict fwd = os.path.join(os.getcwd(), wk_dir, 'fig') fwd_fig = './fig' threshold = thres - num_header = len(contig_len_dict) + 25 # This has to adjusted according to number of headers in VCF + len_cap = 100000 + num_header = len(contig_len_dict) + 26 # This has to adjusted according to number of headers in VCF vcf_path = os.path.join(wk_dir, '%s.nanovar.total.vcf' % read_name) vcf_path_pass = os.path.join(wk_dir, '%s.nanovar.pass.vcf' % read_name) vcf_data = open(vcf_path, 'r').read().splitlines() @@ -49,6 +50,7 @@ def create_report(wk_dir, contig_len_dict, thres, read_path, ref_path, rlen_dict svdict = {'DEL': 0, 'INV': 0, 'DUP': 0, 'INS': 0, 'BND': 0} dellen, inslen, invlen, duplen, bndlen = [], [], [], [], [] delnolen, insnolen, invnolen, dupnolen, bndnolen = 0, 0, 0, 0, 0 + delcap, inscap, invcap, dupcap, bndcap = 0, 0, 0, 0, 0 data = [] totalsv, n = 0, 0 for i in vcf: @@ -73,24 +75,38 @@ def create_report(wk_dir, contig_len_dict, thres, read_path, ref_path, rlen_dict svdict[sv_type] += 1 if sv_type == 'DEL': try: - dellen.append(svlencap(int(sv_len))) + if int(sv_len) * -1 <= len_cap: + dellen.append(svlencap(int(sv_len)) * -1) + else: + delcap += 1 except ValueError: delnolen += 1 elif sv_type == 'INS': try: - inslen.append(svlencap(int(sv_len))) + if int(sv_len) <= len_cap: + inslen.append(svlencap(int(sv_len))) + else: + inscap += 1 except ValueError: insnolen += 1 elif sv_type == 'INV': try: - invlen.append(svlencap(int(sv_len))) + if int(sv_len) <= len_cap: + invlen.append(svlencap(int(sv_len))) + else: + invcap += 1 except ValueError: invnolen += 1 elif sv_type == 'DUP': try: - duplen.append(svlencap(int(sv_len))) + if int(sv_len) <= len_cap: + duplen.append(svlencap(int(sv_len))) + else: + dupcap += 1 except ValueError: dupnolen += 1 + else: + raise Exception('Error: Unrecognized SV type %s' % sv_type) else: sv_type = i.split('\t')[7].split(';')[5].split('=')[1] chrom2 = i.split('\t')[4].split(':')[0].strip('N[]') @@ -101,11 +117,15 @@ def create_report(wk_dir, contig_len_dict, thres, read_path, ref_path, rlen_dict str(ratio), i.split('\t')[9].split(':')[0], i.split('\t')[2]]) svdict['BND'] += 1 try: - bndlen.append(svlencap(int(sv_len))) + if int(sv_len) <= len_cap: + bndlen.append(svlencap(int(sv_len))) + else: + bndcap += 1 except ValueError: bndnolen += 1 - totalsvlen = [dellen, inslen, invlen, bndlen, duplen] - tab = [[len(dellen), len(inslen), len(invlen), len(bndlen), len(duplen)], [delnolen, insnolen, invnolen, bndnolen, dupnolen]] + totalsvlen = np.array([dellen, inslen, invlen, bndlen, duplen], dtype=object) + tab = [[len(dellen), len(inslen), len(invlen), len(bndlen), len(duplen)], [delcap, inscap, invcap, bndcap, dupcap], + [delnolen, insnolen, invnolen, bndnolen, dupnolen]] # Setting global figure parameters params = {'axes.labelsize': 14, 'axes.titlesize': 17, 'legend.fontsize': 10, 'xtick.labelsize': 12, 'ytick.labelsize': 12, 'font.family': 'Arial, Helvetica, sans-serif'} @@ -130,10 +150,11 @@ def create_report(wk_dir, contig_len_dict, thres, read_path, ref_path, rlen_dict # SV Length cap def svlencap(x): - if x >= 10000: - return 10000 - else: - return x + # if x >= 10000: + # return 10000 + # else: + # return x + return x # Scatter plots generation @@ -160,7 +181,7 @@ def scatter_plots(fwd, scorelist, ratiolist, lcovlist, threshold): mcov = 10 ax.scatter(lcovlist, scorelist, c='#3f5d7d', alpha=0.1) ax.axhline(y=threshold, linewidth=1, color='firebrick') - ax.annotate("Threshold=" + str(threshold), xy=(mcov - 2.8, threshold+0.2)) + ax.annotate("Threshold=" + str(threshold), xy=(mcov - mcov/5, threshold+0.2)) ax.set_facecolor('#ebebff') plt.ylabel('Confidence score') plt.xlabel('Number of breakend-supporting reads') @@ -181,11 +202,14 @@ def sv_len_dict(fwd, totalsvlen, tab): ax.tick_params(axis='x', which='both', bottom=False, labelbottom=False) for patch, color in zip(bp['boxes'], colors): patch.set_facecolor(color) - ax.table(cellText=tab, rowLabels=['Known size', 'Unknown size'], colLabels=label, loc='bottom') + ax.table(cellText=tab, rowLabels=['Size <= 100,000 bp', 'Size > 100,000 bp', 'Unknown size'], + colLabels=label, loc='bottom', bbox=[0, -0.3, 1, 0.275]) ax.set_facecolor('#ebebff') ax.xaxis.grid(False) ax.yaxis.grid(color='white', linewidth=1) - plt.ylabel('Length (base pair)') + ax.set_yscale('log') + plt.yticks([100, 1000, 10000, 100000], ['100', '1,000', '10,000', '100,000'], rotation=45) + plt.ylabel('SV length (bp)') plt.savefig(os.path.join(fwd, 'sv_lengths.png'), bbox_inches='tight', dpi=100, facecolor=fig.get_facecolor(), edgecolor='none') @@ -232,7 +256,7 @@ def func(pct, allvals): horizontalalignment=horizontalalignment, **kw) plt.setp(autotexts, size=11) - ax.text(0, 0, 'SV types', ha='center') + ax.text(0, 0, 'SV types', ha='center', fontsize=15) plt.savefig(os.path.join(fwd, 'sv_type_donut.png'), bbox_inches='tight', dpi=100, facecolor=fig.get_facecolor(), edgecolor='none') @@ -246,7 +270,7 @@ def read_len_dict(rlen_dict, fwd): fig = plt.figure(figsize=(8, 6)) fig.patch.set_facecolor('#f6f7f9') ax = fig.add_subplot(111) - ax.hist(qlen, bins=bins, color="#403f7d", edgecolor='black', linewidth=0.5) + ax.hist(qlen, bins=bins, color="#403f7d", edgecolor="#403f7d", linewidth=0.5, histtype='stepfilled') ax.set_xscale('log') ax.xaxis.set_major_formatter(ScalarFormatter()) ax.ticklabel_format(useOffset=False, style='plain') diff --git a/nanovar/nv_te_analyzer.py b/nanovar/nv_te_analyzer.py new file mode 100644 index 0000000..a1d7a37 --- /dev/null +++ b/nanovar/nv_te_analyzer.py @@ -0,0 +1,139 @@ +""" +Transposable element analyzer. + +Copyright (C) 2021 Tham Cheng Yong + +This file is part of NanoVar. + +NanoVar is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +NanoVar is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with NanoVar. If not, see . +""" + + +import os +import logging +from pybedtools import BedTool +from subprocess import Popen, PIPE, STDOUT + + +def te_analyzer(wk_dir, out_nn, total_out1, total_out2, score_threshold, ref_dir, hsb, mdb, threads, debug): + # Convert score threshold to nn probability + nn_score = 1-10**(score_threshold/-10) + index2reads = {} + for i in out_nn: + if i.split('\t')[3].split(' ')[0] in ['Nov_Ins', 'S-Nov_Ins_bp', 'E-Nov_Ins_bp']: + if float(i.split('\t')[13]) >= nn_score: + ind = i.split('\t')[6].split('~')[0] + reads = i.split('\t')[8] + ',' + i.split('\t')[11] + index2reads[ind] = reads + region_dict = {} + for i in total_out1: + if i.split('\t')[3][:3] == 'S-N': + region_dict[i.split('\t')[8]] = (1, float(i.split('\t')[3].split(' ')[1].split('~')[0])) + elif i.split('\t')[3][:3] == 'E-N': + region_dict[i.split('\t')[8]] = (int(i.split('\t')[1]), int(i.split('\t')[1]) + + float(i.split('\t')[3].split(' ')[1].split('~')[0])) + elif i.split('\t')[3][:7] == 'Nov_Ins': + region_dict[i.split('\t')[8]] = (int(i.split('\t')[1]), int(i.split('\t')[1]) + + float(i.split('\t')[3].split(' ')[1].split('~')[0])) + else: + continue + for i in total_out2: + if i.split('\t')[3][:3] == 'S-N': + region_dict[i.split('\t')[8]] = (1, float(i.split('\t')[3].split(' ')[1].split('~')[0])) + elif i.split('\t')[3][:3] == 'E-N': + region_dict[i.split('\t')[8]] = (int(i.split('\t')[1]), int(i.split('\t')[1]) + + float(i.split('\t')[3].split(' ')[1].split('~')[0])) + elif i.split('\t')[3][:7] == 'Nov_Ins': + region_dict[i.split('\t')[8]] = (int(i.split('\t')[1]), int(i.split('\t')[1]) + + float(i.split('\t')[3].split(' ')[1].split('~')[0])) + else: + continue + bed_str = '' + read2index = {} + for i in index2reads: + for r in index2reads[i].split(','): + try: + left = str(region_dict[r.strip('\n')][0]) + right = str(int(region_dict[r.strip('\n')][1])) + if r.split('~')[0] + ':' + left + '-' + right not in read2index: + bed_str += r.split('~')[0] + '\t' + left + '\t' + right + '\n' + read2index[r.split('~')[0] + ':' + left + '-' + right] = i + except KeyError: + pass + bed = BedTool(bed_str, from_string=True) + # Extract fasta for each insertion region + fasta_path = os.path.join(wk_dir, 'temp1.fa') + fasta = bed.sequence(fi=fasta_path) + _ = fasta.save_seqs(os.path.join(wk_dir, 'ins_seq.fa')) + # HS-BLASTN alignment + ref = os.path.join(ref_dir, 'hg38_L1_Alu.fa') + # Index TE reference (makeblastdb) + process = Popen([mdb, '-in', ref, '-input_type', 'fasta', '-dbtype', 'nucl'], universal_newlines=True, + stdout=PIPE, stderr=STDOUT) + with process.stdout: + log_subprocess(process.stdout) + exitcode = process.wait() + if exitcode != 0: + logging.critical("Error: makeblastdb failed (2)") + raise Exception("Error: makeblastdb failed (2), see log") + # Index TE reference (hs-blastn) + process = Popen([hsb, 'index', ref], universal_newlines=True, stdout=PIPE, stderr=STDOUT) + with process.stdout: + log_subprocess(process.stdout) + exitcode = process.wait() + if exitcode != 0: + logging.critical("Error: hs-blastn index failed (2)") + raise Exception("Error: hs-blastn index failed (2), see log") + obinary_path = os.path.join(ref_dir, 'hg38_L1_Alu.counts.obinary') + read_path = os.path.join(wk_dir, 'ins_seq.fa') + out_path = os.path.join(wk_dir, 'temp-te-blast.tab') + process = Popen([hsb + ' align -db ' + ref + ' -window_masker_db ' + obinary_path + ' -query ' + read_path + ' -out ' + + out_path + ' -outfmt 6 -num_threads ' + str(threads) + ' -max_target_seqs 3 -gapopen 0 ' + '-gapextend 4 -penalty -3 -reward 2'], + universal_newlines=True, stdout=PIPE, stderr=STDOUT, shell=True, executable='/bin/bash') + with process.stdout: + log_subprocess(process.stdout) + exitcode = process.wait() + if exitcode != 0: + logging.critical("Error: hs-blastn alignment failed (2)") + raise Exception("Error: hs-blastn alignment failed (2), see log") + index2te = {} + with open(out_path) as f: + for line in f: + line = line.split('\t') + if line[1].rsplit('_', 1)[1].startswith('L1'): + if int(line[3]) >= 5500: # 90% of L1 + if read2index[line[0]] in index2te: + index2te[read2index[line[0]]].add(line[1].rsplit('_', 1)[1]) + else: + index2te[read2index[line[0]]] = set() + index2te[read2index[line[0]]].add(line[1].rsplit('_', 1)[1]) + elif line[1].rsplit('_', 1)[1].startswith('Alu'): + if int(line[3]) >= 270: # 90% of Alu + if read2index[line[0]] in index2te: + index2te[read2index[line[0]]].add(line[1].rsplit('_', 1)[1]) + else: + index2te[read2index[line[0]]] = set() + index2te[read2index[line[0]]].add(line[1].rsplit('_', 1)[1]) + if not debug: + os.remove(read_path) + os.remove(out_path) + + return index2te + + +def log_subprocess(out): + for line in iter(out.readline, ''): + if line != '\n': + logging.debug(line.strip()) diff --git a/nanovar/nv_valid.py b/nanovar/nv_valid.py index eba238c..7e87c5a 100644 --- a/nanovar/nv_valid.py +++ b/nanovar/nv_valid.py @@ -1,7 +1,7 @@ """ Functions for verifying files. -Copyright (C) 2019 Tham Cheng Yong +Copyright (C) 2021 Tham Cheng Yong This file is part of NanoVar. diff --git a/nanovar/nv_vcf.py b/nanovar/nv_vcf.py index ef59584..7a3c78f 100644 --- a/nanovar/nv_vcf.py +++ b/nanovar/nv_vcf.py @@ -1,7 +1,7 @@ """ Functions for creating VCF file. -Copyright (C) 2019 Tham Cheng Yong +Copyright (C) 2021 Tham Cheng Yong This file is part of NanoVar. @@ -27,7 +27,8 @@ from nanovar import __version__ -def create_vcf(wk_dir, thres, nn_out, ref_path, read_path, read_name, blast_cmd, contig_len_dict, homo_t, het_t, minlen, depth): +def create_vcf(wk_dir, thres, nn_out, ref_path, read_path, read_name, blast_cmd, contig_len_dict, homo_t, het_t, minlen, depth, + index2te): rdata = nn_out # Calculating number of entries t = len(rdata) @@ -49,11 +50,12 @@ def create_vcf(wk_dir, thres, nn_out, ref_path, read_path, read_name, blast_cmd, normcov = int(float(tmpread[0].split('\t')[12])) dnnscore = float(tmpread[0].split('\t')[13]) dnn = str(round(float(dnnscore), 3)) - phred = str(abs(round(float(phredc(dnnscore)), 1))) + phred = phredc(dnnscore) sv_id = tmpread[0].split('\t')[6].split('~')[0] bp_name = tmpread[0].split('\t')[3].split(' ')[0] chrm1 = tmpread[0].split('\t')[6].split('~')[1].split(':')[0] filt = filterer(float(phred), thres) + phred = str(abs(round(phred, 1))) dp = str(covl + normcov) ratio = round(float(covl) / int(dp), 3) geno = genotyper(ratio, homo_t, het_t) @@ -61,19 +63,27 @@ def create_vcf(wk_dir, thres, nn_out, ref_path, read_path, read_name, blast_cmd, sv = '' sv_len = tmpread[0].split('\t')[3].split(' ')[1].split('~')[0] coord1 = int(tmpread[0].split('\t')[6].split('~')[1].split(':')[1].split('-')[0]) + if sv_id in index2te: + te = ";TE=" + ','.join(index2te[sv_id]) + else: + te = '' out.append(str(chrm1) + '\t' + str(coord1) + '\t' + str(sv_id) + '\tN\t' + str(sv) + '\t' + str(phred) + '\t' + filt + '\t' + 'SVTYPE=INS;END=' + str(coord1 + 1) + ';SVLEN=' + str(sv_len) + ';SR=' + str( covl) + ';NN=' + - str(dnn) + '\tGT:DP:AD\t' + geno + ':' + dp + ':' + str(normcov) + ',' + str(covl)) + str(dnn) + te + '\tGT:DP:AD\t' + geno + ':' + dp + ':' + str(normcov) + ',' + str(covl)) elif bp_name == 'E-Nov_Ins_bp' or bp_name == 'S-Nov_Ins_bp': pass sv = '' sv_len = tmpread[0].split('\t')[3].split(' ')[1].split('~')[0] coord1 = int(tmpread[0].split('\t')[6].split('~')[1].split(':')[1].split('-')[0]) + if sv_id in index2te: + te = ";TE=" + ','.join(index2te[sv_id]) + else: + te = '' out.append(str(chrm1) + '\t' + str(coord1) + '\t' + str(sv_id) + '\tN\t' + str(sv) + '\t' + str(phred) + '\t' + filt + '\t' + 'SVTYPE=INS;END=' + str(coord1 + 1) + ';SVLEN=>' + str(sv_len) + ';SR=' + str( covl) + ';NN=' + - str(dnn) + '\tGT:DP:AD\t' + geno + ':' + dp + ':' + str(normcov) + ',' + str(covl)) + str(dnn) + te + '\tGT:DP:AD\t' + geno + ':' + dp + ':' + str(normcov) + ',' + str(covl)) elif bp_name == 'Del': sv = '' sv_len = int(tmpread[0].split('\t')[3].split(' ')[1].split('~')[0]) @@ -212,6 +222,7 @@ def add_header(vcf_file, read_path, ref_path, blast_cmd, read_name, contig_len_d vcf_file.write('##INFO=\n') vcf_file.write('##INFO=\n') + vcf_file.write('##INFO=\n') vcf_file.write('##FORMAT=\n') vcf_file.write('##FORMAT=\n') vcf_file.write('##FORMAT=\n') diff --git a/nanovar/ref/hg38_L1_Alu.counts.obinary b/nanovar/ref/hg38_L1_Alu.counts.obinary new file mode 100644 index 0000000..b8cb1f3 Binary files /dev/null and b/nanovar/ref/hg38_L1_Alu.counts.obinary differ diff --git a/nanovar/ref/hg38_L1_Alu.fa b/nanovar/ref/hg38_L1_Alu.fa new file mode 100644 index 0000000..95b8bc8 --- /dev/null +++ b/nanovar/ref/hg38_L1_Alu.fa @@ -0,0 +1,12 @@ +>chr1_187597673_187603699_L1HS +GAGGAGCCAAGATGGCCGAATAGGAACAGCTCCGGTCTACAGCTCCCAGCGTGAGCGACGCAGAAGACGGGTGATTTCTGCATTTCCATCTGAGGTACCGGGTTCATCTCACTAGGGAGTGCCAGACAGTGGGCGCAGGCCAGTGTGTGCGCGCACCGTGCACGAGCCGAAGCAGGGCGAGGCATTGCCTCACCTGGGAAGCGCAAGGGTCAGGGAGTTCCCTTTCCGAGTCAAAGAAAGGGGTGACGGACGCACCTGGAAAATCGGGTCACTCCCACCCGAATATTGCGCTTTTCAGACCGGCTTAAAAAACGGCGCACCAGGAGACTATATCCCACACCTGGCTCAGAGGGTCCTACGCCCACGGAATCTCACTGATTGCTAGCACAGCAGTCTGAGATCAAACTGCAAGGCGGCAACGAGGCTGGGGGAGGGGCGCCCGCCATTGCCCAGGCTTGCTTAGGTAAACAAAGCAGCCGGGAAGCTCGAACTGGGTGGAGCCCACCACAGCTCAAGGAGGCCTGCCTGCCTCTGTAGGCTCCACCTCTGGGGGCAGGGCACAGACAAACAAAAAGACAGCAGTAACCTCTGCAGACTTAAGTGTCCCTGTCTGACAGCTTTGAAGAGAGCAGTGGTTCTCCCAGCATGCAGCTGGAGATCTGAGAACAGGCAGACTGCCTCCTCAATTGGGTCCCTGACCCCTGACCCCTGAGCAGCCTAACTGGGAGGCACCCCCCAGCAGGGGCACACTGACACCTCACACGGCAGGGTATTCCAACAGACCTGCAGCTGAGGGTCCTGTCTGTTAGAAGGAAAACTAACAACCAGAAAGGACATCTACACCGAAAACCCATCTGTACATCACCATCATCAAAGACCAAAAGTAGATAAAACCACAAAGATGGGGAAAAAACAGAACAGAAAAACTGGAAACTCTAAAACGCAGAGCACCTCTCCTCCTCCAAAGGAAAGCAGTTCCTCACCAGCAACGGAACAAAGCTGGATGGAGAATGATTTTGACGAGCTGAGAGAAGAAGGCTTCAGACGATCAAATTACTCTGAGCTACGGGAGGACATTCAAACCAAAGGCAAAGAAGTTGAAAACTTTGAAAAAAATTTAGAAGAATGTATAACTAGAATAACCAATACAGAGAAGTGCTTAAAGGAGCTGATGGAGCTGAAAACCAAGGCTCGAGAACTACGTGAAGAATGCAGAAGCCTCAGGAGCCGATGCGATCAACTGGAAGAAAGGGTATCAGCAATGGAAGATGAAATGAATGAAATGAAGCGAGAAGGGAAGTTTAGAGAAAAAAGAATAAAAAGAAATGAGCAAAGCCTCCAAGAAATATGGGACTATGTGAAAAGACCAAATCTACGTCTGATTGGTGTACCTGAAAGTGATGTGGAGAATGGAACCAAGTTGGAAAACACTCTGCAGGATATTACCCAGGAGAACTTCCCCAATCTAGCAAGGCAGGCCAACGTTCAGATTCAGGAAATACAGAGAACGCCACAAAGATACTCCTCGAGAAGAGCAACTCCAAGACACATAATTGTCAGATTCACCAAAGTTGAAATGAAGGAAAAAATGTTAAGGGCAGCCAGAGAGAAAGGTCGGGTTACCCTCAAAGGAAAGCCCATCAGACTAACAGCGGATCTCTCAGCAGAAACCCTACAAGCCAGAAGAGAGTGGGGGCCAATATTCAACATTCTTAAAAAAAAGAATTTTCAACCCATAATTTCATATCCAGCCAAACTAAGCTTCATAAGTGAAGGAGAAATAAAATACTTTATAGACAAGCAAATGCTGAGAGATTTTGTCAACACCAGGCCTGCCCTAAAAGAGCTCCTGAAGGAAGCGCTAAACATGGAAAGGAACAACTGGTACCAGCCGCTGCAAAATCATGCCAAAATGTAAAGACCATCGAGACTAGGAAGAAACTGCATCAACTAACGAGCAAAATCACCAGCTAACATCATAATGACAGGATCAAATTCACACATAACAATATTAACTTTAAATATAAATGGACTAAATTCTGCAATTAAAAGACACAGACTGGCAAGGTGGATAAAGAGTCAAGACCCATCAGTGTGCTGTATTCAGGAAACCCATCTCACGTGCAGAGACACACATAGGCTCAAAATAAAAGGATGGAGGAAGATCTACCAAGCCAATGGAAAACAAAAAAAGGCAGGGGTTGCAATTCTAGTCTCTGATAAAACAGACTTTAAACCAACAAAGATCAAAAGAGACAAAGAAGGCCATTACATAATGGTAAAGGGATCAATTCAACAAGAGGAGCTAACTATCCTAAATATTTATGCACCCAATACAGGAGCACCCAGATTCATAAAGCAAGTCCTGAGTGACCTACAAAGAGACTTAGACTCCCACACATTAATAATGGGAGACTTTAACACCCCACTGTCAACATTAGACAGATCAACGAGACAGAAAGTCAACAAGGATACCCAGGAATTGAACTCAGCTCTGCACCAAGCGGACCTAATAGACATCTACAGAACTCTCCACCCCAAATCAACAGAATATACATTTTTTTCAGCACCACACCACACCTATTCCAAAATTGACCACATAGTTGGAAGTAAAGCTCTCCTCAGCAAATGTAAAAGAACAGAAATTATAACAAACTATCTCTCAGACCACAGTGCAATCAAACTAGAACTCAGGATTAAGAATCTCACTCAAAGCCGCTCAACTACATGGAAACTGAACAACCTGCTCCTGAATGACTACTGGGTACATAACGAAATGAAGGCAGAAATAAAGATGTTCTTTGAAACCAACGAGAACAAAGACACCACATACCAGAATCTCTGGGACGCATTCAAAGCAGTGTGTAGAGGGAAATTTATAGCACTAAATGCCCACAAGAAAAAGCAGGAAAGATCCAAAATTGACACCCTAACATCACAATTAAAAGAACTAGAAAAGCAAGAGCAAACACATTCAAAAGCTAGCAGAAGGCAAGAAATAACTAAAATCAGAGCAGAACTGAAGGAAATAGAGACACAAAAAACCCTTCAAAAAATCAATGAATCCAGGAGCTGGTTTTTTGAAAGGATCAACAAAATTGATAGACCGCTAGCAAGACTAATAAAGAAAAAAAGAGAGAAGAATCAAATAGACACAATAAAAAATGATAAAGGGGATATCACCACTGATCCCACAGAAATACAAACTACCATCAGAGAATACTACAAACACCTCTACGCAAATAAACTAGAAAATCTAGAAGAAATGGATACATTCCTCGACACATACACTCTCCCAAGACTAAACCAGGAAGAAGTTGAATCTCTGAATAGACCAATAACAGGCTCTGAAATTGTGGCAATAATCAATAGTTTACCAACCAAAAAGAGTCCAGGACCACATGGATTCACAGCCGAATTCTACCAGAGGTACAAGGAGGAACTGGTACCATTCCTTCTGAAACTATTCCAATCAATAGAAAAAGAGGGAATCCTCCCTAACTCATTTTATGAGGCCAGCATCATTCTGATACCAAAGCTGGGCAGAGACACAACCAAAAAAGAGAATTTTAGACCAATATCCTTGATGAACATTGATGCAAAAATCCTCAATAAAATACTGGCAAACCGAATCCAGCAGCACATCAAAAAGCTTATCCACCATGATCAAGTGGGCTTCATCCCTGGGATGCAAGGCTGGTTCAATATACGCAAATCAATAAATGTAATCCAGCATATAAACAGAGCCAAAGACAAAAACCACATGATTATCTCAATAGATGCAGAAAAAGCCTTTGACAAAATTCAACAACCCTTCATGCTAAAAACTCTCAATAAATTAGGTATTGATGGGACGTATTTCAAAATAATAAGAGCTATCTATGACAAACCCACAGCCAATATCATACTGAATGGGCAAAAACTGGAAGCATTCCCTTTGAAAACTGGCACAAGACAGGGATGCCCTCTCTCACCACTCCTATTCAACATAGTGTTGGAAGTTCTGGCCAGGGCAATCAGGCAGGAGAAGGAAATAAAGGGTATTCAATTAGGAAAAGAGGAAGTCAAATTGTCCCTGTTTGCAGACGACATGATTGTTTATCTAGAAAACCCCATTGTCTCAGCCCAAAATCTCCTTAAGCTGATAAGCAACTTCAGCAAAGTCTCAGGATACAAAATCAATGTACAAAAATCACAAGCATTCTTATACACCAACAACAGACAAACAGAGAGCCAAATCATGGGTGAACTCCCATTCACAATTGCTTCAAAGAGAATAAAATACCTAGGAATCCAACTTACAAGGGATGTGAAGGACCTCTTCAAGGAGAACTACAAACCACTGCTCAAGGAAATAAAAGAGGATACAAACAAATGGAAGAACATTCCATGCTCATGGGTAGGAAGAATCAATATCGTGAAAATGGCCATACTGCCCAAGGTAATTTACAGATTCAATGCCATCCCCATCAAGCTACCAATGACTTTCTTCACAGAATTGGAAAAAACTACTTTAAAGTTCATATGGAACCAAAAAAGAGCCCGCATCGCCAAGTCAATCCTAAGCCAAAAGAACAAAGCTGGAGGCATCACACTACCTGACTTCAAACTATACTACAAGGCTACAGTAACCAAAACAGCATGGTACTGGTACCAAAACAGAGATATAGATCAATGGAACAGAACAGAGCCCTCAGAAATAATGCCGCATATCTACAACTATCTGATCTTTGACAAACCTGAGAAAAACAAGCAATGGGGAAAGGATTCCCTATTTAATAAATGGTGCTGGGAAAACTGGCTAGCCATATGTAGAAAGCTGAAACTGGATCCCTTCCTTACACCTTATACAAAAATCAATTCAAGATGGATTAAAGATTTAAACGTTAGACCTAAAACCATAAAAACCCTAGAAGAAAACCTAGGCATTACCATTCAGGACATAGGCGTGGGCAAGGACTTCATGTCCAAAACACCAAAAGCAATGGCAACAAAAGCCAAAATTGACAAATGGGATCTAACTAAACTAAAGAGCTTCTGCACAGCAAAAGAAACTACCATCAGAGTGAACAGGCAACCTACAACATGGGAGAAAATTTTCGCAACCTACTCATCTGACAAAGGGCTAATATCCAGAATCTACAATGAACTCAAACAAATTTACAAGAAAAAAACAAACAACCCCATCAAAAAGTGGGCGAAGGACATGAACAGACACTTCTCAAAAGAAGACATTTATGCAGCCAAAAAACACATGAAGAAATGCTCATCCTCACTGGCCATCAGAGAAATGCAAATCAAAACCACTATGAGATATCATCTCACACCAGTTAGAATGGCAATCATTAAAAAGTCAGGAAACAACAGGTGCTGGAGAGGATGTGGAGAAATAGGAACACTTTTACACTGTTGGTGGGACTGTAAACTAGTTCAACCATTGTGGAAGTCAGTGTGGCGATTCCTCAGGGATCTAGAACTAGAAATACCATTTGACCCAGCCATCCCATTACTGGGTATATACCCAAATGACTATAAATCATGCTGCTATAAAGACACATGCACACGTATGTTTATTGCGGCACTATTCACAATAGCAAAGACTTGGAACCAACCCAAATGTCCAACAATGATAGACTGGATTAAGAAAATGTGGCACATATACACCATGGAATACTATGCAGCCATAAAAAATGATGAGTTCATGTCCTTTGTAGGGACATGGATGAAATTGGAAACCATCATTCTCAGTAAACTATCGCAAGAACAAAAAACCAAACACTGCATATTCTCACTCATAGGTGGGAATTGAACAATGAGATCACAGGGACACAGGAAGGGGAATATCACACTCTGGGGACTGTGGTGGGGTCGGGGGAGGGGGGAGGGATAGCAGTGGGAGATATACCTAATGATTGATGACACGTTAGTGGGTGCAGCGCACCAGCATGGCACATGTATACATATGTAACTAACCTGCACAATGTGCACATGTACCCTAAAACTTAAAGTATAATAAAAAAAAAAAAA +>chr1_124568_124870_AluJb +GGCCAGGTACTGTGGCTTATGTCTGTAATATCAGCATGTTGGGAGGCCAAGGCAGGATTACTTGAGCCCAGAAATTCCAGACCAGCCTGAGAATTTGGCAAAACTCTGTCTCTACAAAAAATACAAAAATTAGCCAAGTTTGGTGGCATGTGCCTGTAGTACCAGCTACTTGGGAGGCTGAGGTGGAAGAATAGCTTGAGTCTGGGAGGTCAAGGCTGCAATGAGCTGTGATTGCACCACTGCACTCAAGCCTGGGTGGTAGAGTAAGACCCTGTCTCAAAAAAAAAAAAAAAAAAAGAAAAA +>chr1_141668_141970_AluJr +GGCCAGATGTGGTGGCTCACATCTGTAATCCCAGCACTTTCAGAGGCTGAGGTGGGAGGATCACTTGAGACCAGGAATTTGTGGCCAGCCTGGCCAACACAACAAGACCCCATCTATACAAAAAATAAAAGAAACTAGCCAGATGTGGTGGTGCAGGCATGTAGTCTCAGCTACTAGGGAGGCTGAGGTGGGAGAACCACTGGAACCCAGACAATCAAGGCTGCAATGAGCTATGACTGCACCATTGCACACCAGCCTGGGCAACAAAATAAGACCCTCTCTCTCAGAAAAAAAGAAAATAAA +>chr1_101822_102122_AluSx +GGCTAGCCACGGTGACTCACATCTGTAATCCCAGCACTTTGGGAGGCTGAGGCAGGCAGATCACCTGAGGTCAGGAGTTCCAGACCAGCCTGGCCAACATGGTGAAATCTTGTCTCTCCTACAAATACAAAAACTAGCCAGGCTTGGTTGTGCACTCCTGTAATTCGAGCTACTTGGGAGGCTGAGGCAGGAGAATCTCTTGAACCTGAGAGGCAGAGGTTGCAGTGAGCCAAGATCATGCCACTGCACTCCAGCTGGGGCAACAGAGTGACACTCCATCTCAAAATAAATAAATAAGAAA +>chr1_76893_77201_AluSz +GGCCGGGCGTGGTGGCTCATGCCTGTGATCCCAGCATTTTGGGAGGCTGAGGCGGGCAGATCACTTGAGGCCAGGAATTCAAGACCAGCGTGGCTAACATGGCGAAACCCCATCTCTACCAAAAATACAAAAATTAGCTGGGCGTGGTGGTGCACACTTGTAATTCCAGCTACTTGAGAGGCTGAGGTGGGAGGATCGCTTGAACCTGGGAGGCAGAAGTTTCAGTGAGCCCAGAACGTGCCTCTGCACTCCAGCCAGGATGACAGAGCAAGACTCCATCTCAAAAAAAAAAAAAAAAAAAAAGGAAAA +>chr1_259774_260073_AluY +GCCAGGCACAGTGGCTCATGCCTATAATCCCAGCACTTTAGGAGGCTGAGGCGGGTGGATCACAAGGTCAGGAGATCCAGACCATCCTGGTTAACTCGGTGAATCTCCATCTCTATTAAAAATATAAAAAATTAGCCGGGCGTGATGGAAGGCACCTGTAGTCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATGGCGTGAACCCAGGAGACAGAGCTTGCAGTGAGCCGAGATCGCACTGCTGCACTCCAGCCTGGGCGACAGAGCAAGACTCTGTCTCTAAATAAATAAATAAATAAA diff --git a/nanovar/version.py b/nanovar/version.py index d427944..3e8d9f9 100644 --- a/nanovar/version.py +++ b/nanovar/version.py @@ -1 +1 @@ -__version__ = "1.3.9" +__version__ = "1.4.0" diff --git a/requirements.txt b/requirements.txt index 25d8659..e06bb20 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,57 +1,57 @@ -# nanovar-v1.3.1, conda venv python3.7 -absl-py==0.9.0 -asn1crypto==1.2.0 -astor==0.8.1 -biopython==1.76 -cachetools==4.0.0 -certifi==2019.9.11 -cffi==1.13.0 -chardet==3.0.4 -conda==4.7.12 -conda-package-handling==1.6.0 -cryptography==3.3.2 +# nanovar-v1.4.0, python3.8 +absl-py==0.13.0 +astunparse==1.6.3 +biopython==1.79 +cachetools==4.2.2 +certifi==2021.5.30 +charset-normalizer==2.0.4 +clang==5.0 +click==8.0.1 cycler==0.10.0 -gast==0.2.2 -google-auth==1.11.2 -google-auth-oauthlib==0.4.1 -google-pasta==0.1.8 -grpcio==1.27.2 -h5py==2.10.0 -idna==2.8 -Keras-Applications==1.0.8 -Keras-Preprocessing==1.1.0 -kiwisolver==1.1.0 -Markdown==3.2.1 -matplotlib==3.1.3 -natsort==7.0.1 -numpy==1.18.1 -oauthlib==3.1.0 -opt-einsum==3.1.0 -progress==1.5 -protobuf==3.11.3 +cytocad==1.0.1 +flatbuffers==1.12 +gast==0.4.0 +google-auth==1.35.0 +google-auth-oauthlib==0.4.6 +google-pasta==0.2.0 +grpcio==1.39.0 +h5py==3.1.0 +idna==3.2 +keras==2.6.0 +Keras-Preprocessing==1.1.2 +kiwisolver==1.3.2 +Markdown==3.3.4 +matplotlib==3.4.3 +nanovar==1.4.0 +natsort==7.1.1 +numpy==1.19.5 +oauthlib==3.1.1 +opt-einsum==3.3.0 +pandas==1.3.2 +Pillow==8.3.1 +progress==1.6 +protobuf==3.17.3 pyasn1==0.4.8 pyasn1-modules==0.2.8 pybedtools==0.8.2 -pycosat==0.6.3 -pycparser==2.19 -pyOpenSSL==19.0.0 -pyparsing==2.4.6 -pysam==0.15.4 -PySocks==1.7.1 -python-dateutil==2.8.1 -requests==2.22.0 +pyparsing==2.4.7 +pysam==0.16.0.1 +python-dateutil==2.8.2 +pytz==2021.1 +requests==2.26.0 requests-oauthlib==1.3.0 -rsa==4.7 -ruamel-yaml==0.15.46 -scipy==1.4.1 -six==1.12.0 -tensorboard==2.4.1 +rsa==4.7.2 +ruptures==1.1.4 +scipy==1.7.1 +six==1.15.0 +tagore==1.1.0 +tensorboard==2.6.0 +tensorboard-data-server==0.6.1 tensorboard-plugin-wit==1.8.0 -tensorflow==2.5.1 -tensorflow-cpu==2.5.1 -tensorflow-estimator==2.4.0 +tensorflow-cpu==2.6.0 +tensorflow-estimator==2.6.0 termcolor==1.1.0 -tqdm==4.36.1 -urllib3==1.26.5 -Werkzeug==1.0.0 -wrapt==1.12.0 +typing-extensions==3.7.4.3 +urllib3==1.26.6 +Werkzeug==2.0.1 +wrapt==1.12.1 diff --git a/setup.py b/setup.py index 179ec4f..eda08af 100644 --- a/setup.py +++ b/setup.py @@ -14,7 +14,8 @@ package_data={'nanovar.model': ['*.h5'], 'nanovar.gaps': ['*.bed'], 'nanovar.css': ['*.css'], - 'nanovar.js': ['*.js']}, + 'nanovar.js': ['*.js'], + 'nanovar.ref': ['*L1*']}, include_package_data=True, ext_modules=[Extension('nanovar.nv_bam_parser', ['nanovar/nv_bam_parser.pyx'])], scripts=['nanovar/nanovar'], @@ -28,12 +29,13 @@ long_description=long_description, long_description_content_type="text/markdown", install_requires=['numpy>=1.17.3', 'scipy>=1.2.1', 'biopython>=1.74', 'pybedtools>=0.8.2', 'matplotlib>=2.2.3', - 'tensorflow-cpu>=2.0.0', 'natsort>=6.2.0', 'progress>=1.4', 'pysam>=0.15.3'], + 'tensorflow-cpu>=2.0.0', 'natsort>=6.2.0', 'progress>=1.4', 'pysam>=0.15.3', 'cytocad>=1.0.0'], python_requires='>=3.6', classifiers=[ "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Topic :: Scientific/Engineering :: Bio-Informatics" ]