Giter Club home page Giter Club logo

mudskipper's People

Contributors

gmarcais avatar hosseinasghari avatar opplatek avatar rob-p avatar sjbaker47 avatar tejastemker avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

mudskipper's Issues

Reading from SAM with multiple threads

In the implementation for getting all alignments of a query at once, I use bam::Reader::read() function. For some reason, when we turn on multi-threading for this reader, when reading from SAM, it gets stuck after reading all the records. However, that works fine for BAM!
Tried to re-produce the bug using a smaller code but failed. Needs more investigation!

Supporting supplementary alignments

Currently the code does not support supplementary alignments. An example from ERR188079 sample...
Here are the alignments from STAR:

HWI-ST758:71:C06LWACXX:1:1101:2171:2414 2129    chr2    190930498       255     35S40M  =       190930482       0       GTCTCCTCCTCTGGATAAGATGGGCAACAGTGTTATGGGTATGATGTGCTGGTCTCCTCCTCTGGATAAGATGGG      FFDEHEAJJIJJJHGGIIJJJJJJJHHHHCEIGIHIJIGGIIJJIIIIJJJIGIGJHGIIIJHHHHFFFFFFC@@     NH:i:1  HI:i:1  AS:i:39 nM:i:0  NM:i:0  SA:Z:chr2,190930514,-,35M40S,255,0;
HWI-ST758:71:C06LWACXX:1:1101:2171:2414 163     chr2    190930482       255     74M1S   =       190930514       67      GTTGTCCCCAATGTTATGGGTATGATGTGCTGGTCTCCTCCTCTGGATAAGATGGGCAACAGTGTTATGGGTATG      BC@FFFFFHHGHGHIGIJJJCHHIGJJHIJIJGFHEIJIJIGGIGGEGIIIGIIIJJHIJIJCGGGIIJJJ;DHH     NH:i:1  HI:i:1  AS:i:103        nM:i:2  NM:i:2
HWI-ST758:71:C06LWACXX:1:1101:2171:2414 83      chr2    190930514       255     35M40S  =       190930482       -67     GTCTCCTCCTCTGGATAAGATGGGCAACAGTGTTATGGGTATGATGTGCTGGTCTCCTCCTCTGGATAAGATGGG      FFDEHEAJJIJJJHGGIIJJJJJJJHHHHCEIGIHIJIGGIIJJIIIIJJJIGIGJHGIIIJHHHHFFFFFFC@@     NH:i:1  HI:i:1  AS:i:103        nM:i:2  NM:i:0   SA:Z:chr2,190930498,-,35S40M,255,0;

The first and third alignments in are supplementary. But mudskipper reports this:

HWI-ST758:71:C06LWACXX:1:1101:2171:2414 163     ENST00000412247.1       34      255     74M1S   =       50      -59     GTTGTCCCCAATGTTATGGGTATGATGTGCTGGTCTCCTCCTCTGGATAAGATGGGCAACAGTGTTATGGGTATG      BC@FFFFFHHGHGHIGIJJJCHHIGJJHIJIJGFHEIJIJIGGIGGEGIIIGIIIJJHIJIJCGGGIIJJJ;DHH     NH:i:1  HI:i:1  AS:i:103        nM:i:2  NM:i:2
HWI-ST758:71:C06LWACXX:1:1101:2171:2414 2129    ENST00000412247.1       50      255     35S40M  =       34      59      GTCTCCTCCTCTGGATAAGATGGGCAACAGTGTTATGGGTATGATGTGCTGGTCTCCTCCTCTGGATAAGATGGG      FFDEHEAJJIJJJHGGIIJJJJJJJHHHHCEIGIHIJIGGIIJJIIIIJJJIGIGJHGIIIJHHHHFFFFFFC@@     NH:i:1  HI:i:1  AS:i:39 nM:i:0  NM:i:0  SA:Z:chr2,190930514,-,35M40S,255,0;
HWI-ST758:71:C06LWACXX:1:1101:2171:2414 163     ENST00000409626.5       525     255     74M1S   =       541     -59     GTTGTCCCCAATGTTATGGGTATGATGTGCTGGTCTCCTCCTCTGGATAAGATGGGCAACAGTGTTATGGGTATG      BC@FFFFFHHGHGHIGIJJJCHHIGJJHIJIJGFHEIJIJIGGIGGEGIIIGIIIJJHIJIJCGGGIIJJJ;DHH     NH:i:1  HI:i:1  AS:i:103        nM:i:2  NM:i:2
HWI-ST758:71:C06LWACXX:1:1101:2171:2414 2129    ENST00000409626.5       541     255     35S40M  =       525     59      GTCTCCTCCTCTGGATAAGATGGGCAACAGTGTTATGGGTATGATGTGCTGGTCTCCTCCTCTGGATAAGATGGG      FFDEHEAJJIJJJHGGIIJJJJJJJHHHHCEIGIHIJIGGIIJJIIIIJJJIGIGJHGIIIJHHHHFFFFFFC@@     NH:i:1  HI:i:1  AS:i:39 nM:i:0  NM:i:0  SA:Z:chr2,190930514,-,35M40S,255,0;
HWI-ST758:71:C06LWACXX:1:1101:2171:2414 163     ENST00000457316.5       513     255     74M1S   =       529     -59     GTTGTCCCCAATGTTATGGGTATGATGTGCTGGTCTCCTCCTCTGGATAAGATGGGCAACAGTGTTATGGGTATG      BC@FFFFFHHGHGHIGIJJJCHHIGJJHIJIJGFHEIJIJIGGIGGEGIIIGIIIJJHIJIJCGGGIIJJJ;DHH     NH:i:1  HI:i:1  AS:i:103        nM:i:2  NM:i:2
HWI-ST758:71:C06LWACXX:1:1101:2171:2414 2129    ENST00000457316.5       529     255     35S40M  =       513     59      GTCTCCTCCTCTGGATAAGATGGGCAACAGTGTTATGGGTATGATGTGCTGGTCTCCTCCTCTGGATAAGATGGG      FFDEHEAJJIJJJHGGIIJJJJJJJHHHHCEIGIHIJIGGIIJJIIIIJJJIGIGJHGIIIJHHHHFFFFFFC@@     NH:i:1  HI:i:1  AS:i:39 nM:i:0  NM:i:0  SA:Z:chr2,190930514,-,35M40S,255,0;
HWI-ST758:71:C06LWACXX:1:1101:2171:2414 163     ENST00000320717.8       1735    255     74M1S   =       1751    -59     GTTGTCCCCAATGTTATGGGTATGATGTGCTGGTCTCCTCCTCTGGATAAGATGGGCAACAGTGTTATGGGTATG      BC@FFFFFHHGHGHIGIJJJCHHIGJJHIJIJGFHEIJIJIGGIGGEGIIIGIIIJJHIJIJCGGGIIJJJ;DHH     NH:i:1  HI:i:1  AS:i:103        nM:i:2  NM:i:2
HWI-ST758:71:C06LWACXX:1:1101:2171:2414 2129    ENST00000320717.8       1751    255     35S40M  =       1735    59      GTCTCCTCCTCTGGATAAGATGGGCAACAGTGTTATGGGTATGATGTGCTGGTCTCCTCCTCTGGATAAGATGGG      FFDEHEAJJIJJJHGGIIJJJJJJJHHHHCEIGIHIJIGGIIJJIIIIJJJIGIGJHGIIIJHHHHFFFFFFC@@     NH:i:1  HI:i:1  AS:i:39 nM:i:0  NM:i:0  SA:Z:chr2,190930514,-,35M40S,255,0;
HWI-ST758:71:C06LWACXX:1:1101:2171:2414 163     ENST00000409215.5       84      255     74M1S   =       100     -59     GTTGTCCCCAATGTTATGGGTATGATGTGCTGGTCTCCTCCTCTGGATAAGATGGGCAACAGTGTTATGGGTATG      BC@FFFFFHHGHGHIGIJJJCHHIGJJHIJIJGFHEIJIJIGGIGGEGIIIGIIIJJHIJIJCGGGIIJJJ;DHH     NH:i:1  HI:i:1  AS:i:103        nM:i:2  NM:i:2
HWI-ST758:71:C06LWACXX:1:1101:2171:2414 2129    ENST00000409215.5       100     255     35S40M  =       84      59      GTCTCCTCCTCTGGATAAGATGGGCAACAGTGTTATGGGTATGATGTGCTGGTCTCCTCCTCTGGATAAGATGGG      FFDEHEAJJIJJJHGGIIJJJJJJJHHHHCEIGIHIJIGGIIJJIIIIJJJIGIGJHGIIIJHHHHFFFFFFC@@     NH:i:1  HI:i:1  AS:i:39 nM:i:0  NM:i:0  SA:Z:chr2,190930514,-,35M40S,255,0;
HWI-ST758:71:C06LWACXX:1:1101:2171:2414 163     ENST00000409428.5       105     255     74M1S   =       121     -59     GTTGTCCCCAATGTTATGGGTATGATGTGCTGGTCTCCTCCTCTGGATAAGATGGGCAACAGTGTTATGGGTATG      BC@FFFFFHHGHGHIGIJJJCHHIGJJHIJIJGFHEIJIJIGGIGGEGIIIGIIIJJHIJIJCGGGIIJJJ;DHH     NH:i:1  HI:i:1  AS:i:103        nM:i:2  NM:i:2
HWI-ST758:71:C06LWACXX:1:1101:2171:2414 2129    ENST00000409428.5       121     255     35S40M  =       105     59      GTCTCCTCCTCTGGATAAGATGGGCAACAGTGTTATGGGTATGATGTGCTGGTCTCCTCCTCTGGATAAGATGGG      FFDEHEAJJIJJJHGGIIJJJJJJJHHHHCEIGIHIJIGGIIJJIIIIJJJIGIGJHGIIIJHHHHFFFFFFC@@     NH:i:1  HI:i:1  AS:i:39 nM:i:0  NM:i:0  SA:Z:chr2,190930514,-,35M40S,255,0;
HWI-ST758:71:C06LWACXX:1:1101:2171:2414 163     ENST00000338435.8       1722    255     74M1S   =       1738    -59     GTTGTCCCCAATGTTATGGGTATGATGTGCTGGTCTCCTCCTCTGGATAAGATGGGCAACAGTGTTATGGGTATG      BC@FFFFFHHGHGHIGIJJJCHHIGJJHIJIJGFHEIJIJIGGIGGEGIIIGIIIJJHIJIJCGGGIIJJJ;DHH     NH:i:1  HI:i:1  AS:i:103        nM:i:2  NM:i:2
HWI-ST758:71:C06LWACXX:1:1101:2171:2414 2129    ENST00000338435.8       1738    255     35S40M  =       1722    59      GTCTCCTCCTCTGGATAAGATGGGCAACAGTGTTATGGGTATGATGTGCTGGTCTCCTCCTCTGGATAAGATGGG      FFDEHEAJJIJJJHGGIIJJJJJJJHHHHCEIGIHIJIGGIIJJIIIIJJJIGIGJHGIIIJHHHHFFFFFFC@@     NH:i:1  HI:i:1  AS:i:39 nM:i:0  NM:i:0  SA:Z:chr2,190930514,-,35M40S,255,0;

This makes things confusing for Salmon as it complains:

WARNING: Detected suspicious pair ---
        The proper-pair statuses are inconsistent:
read1 [HWI-ST758:71:C06LWACXX:1:1101:2171:2414] : proper-pair; mapped; matemapped

read2 : [HWI-ST758:71:C06LWACXX:1:1101:2171:2414] : no proper-pair; mapped; matemapped

test_bam2bam fails

The test test_bam2bam on line 32 of tests/bam_test.rs currently fails. It was failing before because the return type of read_and_process was not right. I fixed that, but this test is still failing. It should fail to find / write 33 records, but has 0. Actually since bam2bam didn't return an integer, it is unclear how this value is to be calculated, so I took a best guess (probably wrong). Can you advise @sjbaker47 and @HosseinAsghari (cc @mohsenzakeri, @haghshenas).

Thanks!
Rob

Inconsistent CIGAR strings

On sample ERR188079, Salmon prints this warning message when consuming mudskipper output generated from STAR alignments:

[2021-11-17 20:55:50.696] [jointLog] [warning] (in logLikelihood()) CIGAR string for read [HWI-ST758:71:C06LWACXX:1:1101:2482:20383] seems inconsistent. It refers to non-existant positions in the reference! Transcript name is ENST00000528619.5, length is 731, id is 145760. Read things refid is 145766
[2021-11-17 20:55:50.696] [jointLog] [warning] (in logLikelihood()) CIGAR string for read [HWI-ST758:71:C06LWACXX:1:1101:2482:20383] seems inconsistent. It refers to non-existant positions in the reference! Transcript name is ENST00000529421.5, length is 801, id is 145761. Read things refid is 145757
[2021-11-17 20:55:50.696] [jointLog] [warning] (in logLikelihood()) CIGAR string for read [HWI-ST758:71:C06LWACXX:1:1101:2482:20383] seems inconsistent. It refers to non-existant positions in the reference! Transcript name is ENST00000379060.8, length is 764, id is 145766. Read things refid is 145759
transcript index = 569, transcript length = 348

Handle unmapped reads more properly

Currently if one mate of the read is aligned while the other mate is unaligned, mudskipper treats it as a single-end read. This is not quite right. In the transcriptome bam, also one end should remain unmapped (with proper bit in FLAG set and also * as target).

Compile errors

MacBook M1 Max Pro

Dockerfile:

FROM ubuntu:focal as build

ARG MUDSKIPPER_VERSION

ENV DEBIAN_FRONTEND=noninteractive
ENV PATH=/root/.cargo/bin:$PATH

ADD https://github.com/OceanGenomics/mudskipper/archive/refs/tags/v${MUDSKIPPER_VERSION}.tar.gz mudskipper.tgz

RUN apt update \
    && apt install -y curl build-essential cmake \
    && curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y \
    && mkdir mudskipper \
    && tar -C mudskipper --strip-components=1 -xzf mudskipper.tgz \
    && cd mudskipper \
    && cargo build --release \
    && mv target/release/mudskipper /usr/local/bin

FROM ubuntu:focal

COPY --from=build /usr/local/bin/mudskipper /usr/local/bin/mudskipper

Docker command: docker build -f Dockerfile.mudskipper -t mudskipper --build-arg MUDSKIPPER_VERSION=0.1.0 .

Errors:

#0 131.0 error[E0308]: mismatched types
#0 131.0    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bam/record.rs:152:16
#0 131.0     |
#0 131.0 152 |             s: sam_copy.as_ptr() as *mut i8,
#0 131.0     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u8`, found `i8`
#0 131.0     |
#0 131.0     = note: expected raw pointer `*mut u8`
#0 131.0                found raw pointer `*mut i8`
#0 131.0 
#0 131.1 error[E0308]: mismatched types
#0 131.1    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bam/record.rs:583:17
#0 131.1     |
#0 131.1 583 |                 c_str.as_ptr() as *mut i8,
#0 131.1     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u8`, found `i8`
#0 131.1     |
#0 131.1     = note: expected raw pointer `*const u8`
#0 131.1                found raw pointer `*mut i8`
#0 131.1 
#0 131.1 error[E0308]: mismatched types
#0 131.1    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bam/record.rs:678:49
#0 131.1     |
#0 131.1 678 |                 let c_str = ffi::CStr::from_ptr(aux.offset(TYPE_ID_LEN).cast::<i8>());
#0 131.1     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u8`, found `i8`
#0 131.1     |
#0 131.1     = note: expected raw pointer `*const u8`
#0 131.1                found raw pointer `*const i8`
#0 131.1 
#0 131.1 error[E0308]: mismatched types
#0 131.1    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bam/record.rs:798:21
#0 131.1     |
#0 131.1 798 |                     ctag,
#0 131.1     |                     ^^^^ expected `u8`, found `i8`
#0 131.1     |
#0 131.1     = note: expected raw pointer `*const u8`
#0 131.1                found raw pointer `*mut i8`
#0 131.1 
#0 131.1 error[E0308]: mismatched types
#0 131.1    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bam/record.rs:799:21
#0 131.1     |
#0 131.1 799 |                     b'A' as i8,
#0 131.1     |                     ^^^^^^^^^^ expected `u8`, found `i8`
#0 131.1     |
#0 131.1 help: you can convert an `i8` to a `u8` and panic if the converted value doesn't fit
#0 131.1     |
#0 131.1 799 |                     (b'A' as i8).try_into().unwrap(),
#0 131.1     |                     +          +++++++++++++++++++++
#0 131.1 
#0 131.1 error[E0308]: mismatched types
#0 131.1    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bam/record.rs:805:21
#0 131.1     |
#0 131.1 805 |                     ctag,
#0 131.1     |                     ^^^^ expected `u8`, found `i8`
#0 131.1     |
#0 131.1     = note: expected raw pointer `*const u8`
#0 131.1                found raw pointer `*mut i8`
#0 131.1 
#0 131.1 error[E0308]: mismatched types
#0 131.1    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bam/record.rs:806:21
#0 131.1     |
#0 131.1 806 |                     b'c' as i8,
#0 131.1     |                     ^^^^^^^^^^ expected `u8`, found `i8`
#0 131.1     |
#0 131.1 help: you can convert an `i8` to a `u8` and panic if the converted value doesn't fit
#0 131.1     |
#0 131.1 806 |                     (b'c' as i8).try_into().unwrap(),
#0 131.1     |                     +          +++++++++++++++++++++
#0 131.1 
#0 131.1 error[E0308]: mismatched types
#0 131.1    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bam/record.rs:812:21
#0 131.1     |
#0 131.1 812 |                     ctag,
#0 131.1     |                     ^^^^ expected `u8`, found `i8`
#0 131.1     |
#0 131.1     = note: expected raw pointer `*const u8`
#0 131.1                found raw pointer `*mut i8`
#0 131.1 
#0 131.1 error[E0308]: mismatched types
#0 131.1    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bam/record.rs:813:21
#0 131.1     |
#0 131.1 813 |                     b'C' as i8,
#0 131.1     |                     ^^^^^^^^^^ expected `u8`, found `i8`
#0 131.1     |
#0 131.1 help: you can convert an `i8` to a `u8` and panic if the converted value doesn't fit
#0 131.1     |
#0 131.1 813 |                     (b'C' as i8).try_into().unwrap(),
#0 131.1     |                     +          +++++++++++++++++++++
#0 131.1 
#0 131.1 error[E0308]: mismatched types
#0 131.1    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bam/record.rs:819:21
#0 131.1     |
#0 131.1 819 |                     ctag,
#0 131.1     |                     ^^^^ expected `u8`, found `i8`
#0 131.1     |
#0 131.1     = note: expected raw pointer `*const u8`
#0 131.1                found raw pointer `*mut i8`
#0 131.1 
#0 131.1 error[E0308]: mismatched types
#0 131.1    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bam/record.rs:820:21
#0 131.1     |
#0 131.1 820 |                     b's' as i8,
#0 131.1     |                     ^^^^^^^^^^ expected `u8`, found `i8`
#0 131.1     |
#0 131.1 help: you can convert an `i8` to a `u8` and panic if the converted value doesn't fit
#0 131.1     |
#0 131.1 820 |                     (b's' as i8).try_into().unwrap(),
#0 131.1     |                     +          +++++++++++++++++++++
#0 131.1 
#0 131.1 error[E0308]: mismatched types
#0 131.1    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bam/record.rs:826:21
#0 131.1     |
#0 131.1 826 |                     ctag,
#0 131.1     |                     ^^^^ expected `u8`, found `i8`
#0 131.1     |
#0 131.1     = note: expected raw pointer `*const u8`
#0 131.1                found raw pointer `*mut i8`
#0 131.1 
#0 131.1 error[E0308]: mismatched types
#0 131.1    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bam/record.rs:827:21
#0 131.1     |
#0 131.1 827 |                     b'S' as i8,
#0 131.1     |                     ^^^^^^^^^^ expected `u8`, found `i8`
#0 131.1     |
#0 131.1 help: you can convert an `i8` to a `u8` and panic if the converted value doesn't fit
#0 131.1     |
#0 131.1 827 |                     (b'S' as i8).try_into().unwrap(),
#0 131.1     |                     +          +++++++++++++++++++++
#0 131.1 
#0 131.1 error[E0308]: mismatched types
#0 131.1    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bam/record.rs:833:21
#0 131.1     |
#0 131.1 833 |                     ctag,
#0 131.1     |                     ^^^^ expected `u8`, found `i8`
#0 131.1     |
#0 131.1     = note: expected raw pointer `*const u8`
#0 131.1                found raw pointer `*mut i8`
#0 131.1 
#0 131.1 error[E0308]: mismatched types
#0 131.1    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bam/record.rs:834:21
#0 131.1     |
#0 131.1 834 |                     b'i' as i8,
#0 131.1     |                     ^^^^^^^^^^ expected `u8`, found `i8`
#0 131.1     |
#0 131.1 help: you can convert an `i8` to a `u8` and panic if the converted value doesn't fit
#0 131.1     |
#0 131.1 834 |                     (b'i' as i8).try_into().unwrap(),
#0 131.1     |                     +          +++++++++++++++++++++
#0 131.1 
#0 131.2 error[E0308]: mismatched types
#0 131.2    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bam/record.rs:840:21
#0 131.2     |
#0 131.2 840 |                     ctag,
#0 131.2     |                     ^^^^ expected `u8`, found `i8`
#0 131.2     |
#0 131.2     = note: expected raw pointer `*const u8`
#0 131.2                found raw pointer `*mut i8`
#0 131.2 
#0 131.2 error[E0308]: mismatched types
#0 131.2    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bam/record.rs:841:21
#0 131.2     |
#0 131.2 841 |                     b'I' as i8,
#0 131.2     |                     ^^^^^^^^^^ expected `u8`, found `i8`
#0 131.2     |
#0 131.2 help: you can convert an `i8` to a `u8` and panic if the converted value doesn't fit
#0 131.2     |
#0 131.2 841 |                     (b'I' as i8).try_into().unwrap(),
#0 131.2     |                     +          +++++++++++++++++++++
#0 131.2 
#0 131.2 error[E0308]: mismatched types
#0 131.2    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bam/record.rs:847:21
#0 131.2     |
#0 131.2 847 |                     ctag,
#0 131.2     |                     ^^^^ expected `u8`, found `i8`
#0 131.2     |
#0 131.2     = note: expected raw pointer `*const u8`
#0 131.2                found raw pointer `*mut i8`
#0 131.2 
#0 131.2 error[E0308]: mismatched types
#0 131.2    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bam/record.rs:848:21
#0 131.2     |
#0 131.2 848 |                     b'f' as i8,
#0 131.2     |                     ^^^^^^^^^^ expected `u8`, found `i8`
#0 131.2     |
#0 131.2 help: you can convert an `i8` to a `u8` and panic if the converted value doesn't fit
#0 131.2     |
#0 131.2 848 |                     (b'f' as i8).try_into().unwrap(),
#0 131.2     |                     +          +++++++++++++++++++++
#0 131.2 
#0 131.2 error[E0308]: mismatched types
#0 131.2    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bam/record.rs:855:21
#0 131.2     |
#0 131.2 855 |                     ctag,
#0 131.2     |                     ^^^^ expected `u8`, found `i8`
#0 131.2     |
#0 131.2     = note: expected raw pointer `*const u8`
#0 131.2                found raw pointer `*mut i8`
#0 131.2 
#0 131.2 error[E0308]: mismatched types
#0 131.2    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bam/record.rs:856:21
#0 131.2     |
#0 131.2 856 |                     b'd' as i8,
#0 131.2     |                     ^^^^^^^^^^ expected `u8`, found `i8`
#0 131.2     |
#0 131.2 help: you can convert an `i8` to a `u8` and panic if the converted value doesn't fit
#0 131.2     |
#0 131.2 856 |                     (b'd' as i8).try_into().unwrap(),
#0 131.2     |                     +          +++++++++++++++++++++
#0 131.2 
#0 131.2 error[E0308]: mismatched types
#0 131.2    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bam/record.rs:864:25
#0 131.2     |
#0 131.2 864 |                         ctag,
#0 131.2     |                         ^^^^ expected `u8`, found `i8`
#0 131.2     |
#0 131.2     = note: expected raw pointer `*const u8`
#0 131.2                found raw pointer `*mut i8`
#0 131.2 
#0 131.2 error[E0308]: mismatched types
#0 131.2    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bam/record.rs:865:25
#0 131.2     |
#0 131.2 865 |                         b'Z' as i8,
#0 131.2     |                         ^^^^^^^^^^ expected `u8`, found `i8`
#0 131.2     |
#0 131.2 help: you can convert an `i8` to a `u8` and panic if the converted value doesn't fit
#0 131.2     |
#0 131.2 865 |                         (b'Z' as i8).try_into().unwrap(),
#0 131.2     |                         +          +++++++++++++++++++++
#0 131.2 
#0 131.2 error[E0308]: mismatched types
#0 131.2    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bam/record.rs:874:25
#0 131.2     |
#0 131.2 874 |                         ctag,
#0 131.2     |                         ^^^^ expected `u8`, found `i8`
#0 131.2     |
#0 131.2     = note: expected raw pointer `*const u8`
#0 131.2                found raw pointer `*mut i8`
#0 131.2 
#0 131.2 error[E0308]: mismatched types
#0 131.2    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bam/record.rs:875:25
#0 131.2     |
#0 131.2 875 |                         b'H' as i8,
#0 131.2     |                         ^^^^^^^^^^ expected `u8`, found `i8`
#0 131.2     |
#0 131.2 help: you can convert an `i8` to a `u8` and panic if the converted value doesn't fit
#0 131.2     |
#0 131.2 875 |                         (b'H' as i8).try_into().unwrap(),
#0 131.2     |                         +          +++++++++++++++++++++
#0 131.2 
#0 131.2 error[E0308]: mismatched types
#0 131.2    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bam/record.rs:884:25
#0 131.2     |
#0 131.2 884 |                         ctag,
#0 131.2     |                         ^^^^ expected `u8`, found `i8`
#0 131.2     |
#0 131.2     = note: expected raw pointer `*const u8`
#0 131.2                found raw pointer `*mut i8`
#0 131.2 
#0 131.2 error[E0308]: mismatched types
#0 131.2    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bam/record.rs:891:25
#0 131.2     |
#0 131.2 891 |                         ctag,
#0 131.2     |                         ^^^^ expected `u8`, found `i8`
#0 131.2     |
#0 131.2     = note: expected raw pointer `*const u8`
#0 131.2                found raw pointer `*mut i8`
#0 131.2 
#0 131.2 error[E0308]: mismatched types
#0 131.2    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bam/record.rs:900:25
#0 131.2     |
#0 131.2 900 |                         ctag,
#0 131.2     |                         ^^^^ expected `u8`, found `i8`
#0 131.2     |
#0 131.2     = note: expected raw pointer `*const u8`
#0 131.2                found raw pointer `*mut i8`
#0 131.2 
#0 131.3 error[E0308]: mismatched types
#0 131.3    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bam/record.rs:907:25
#0 131.3     |
#0 131.3 907 |                         ctag,
#0 131.3     |                         ^^^^ expected `u8`, found `i8`
#0 131.3     |
#0 131.3     = note: expected raw pointer `*const u8`
#0 131.3                found raw pointer `*mut i8`
#0 131.3 
#0 131.3 error[E0308]: mismatched types
#0 131.3    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bam/record.rs:916:25
#0 131.3     |
#0 131.3 916 |                         ctag,
#0 131.3     |                         ^^^^ expected `u8`, found `i8`
#0 131.3     |
#0 131.3     = note: expected raw pointer `*const u8`
#0 131.3                found raw pointer `*mut i8`
#0 131.3 
#0 131.3 error[E0308]: mismatched types
#0 131.3    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bam/record.rs:923:25
#0 131.3     |
#0 131.3 923 |                         ctag,
#0 131.3     |                         ^^^^ expected `u8`, found `i8`
#0 131.3     |
#0 131.3     = note: expected raw pointer `*const u8`
#0 131.3                found raw pointer `*mut i8`
#0 131.3 
#0 131.3 error[E0308]: mismatched types
#0 131.3    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bam/record.rs:932:25
#0 131.3     |
#0 131.3 932 |                         ctag,
#0 131.3     |                         ^^^^ expected `u8`, found `i8`
#0 131.3     |
#0 131.3     = note: expected raw pointer `*const u8`
#0 131.3                found raw pointer `*mut i8`
#0 131.3 
#0 131.3 error[E0308]: mismatched types
#0 131.3    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bam/record.rs:939:25
#0 131.3     |
#0 131.3 939 |                         ctag,
#0 131.3     |                         ^^^^ expected `u8`, found `i8`
#0 131.3     |
#0 131.3     = note: expected raw pointer `*const u8`
#0 131.3                found raw pointer `*mut i8`
#0 131.3 
#0 131.3 error[E0308]: mismatched types
#0 131.3    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bam/record.rs:948:25
#0 131.3     |
#0 131.3 948 |                         ctag,
#0 131.3     |                         ^^^^ expected `u8`, found `i8`
#0 131.3     |
#0 131.3     = note: expected raw pointer `*const u8`
#0 131.3                found raw pointer `*mut i8`
#0 131.3 
#0 131.3 error[E0308]: mismatched types
#0 131.3    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bam/record.rs:955:25
#0 131.3     |
#0 131.3 955 |                         ctag,
#0 131.3     |                         ^^^^ expected `u8`, found `i8`
#0 131.3     |
#0 131.3     = note: expected raw pointer `*const u8`
#0 131.3                found raw pointer `*mut i8`
#0 131.3 
#0 131.4 error[E0308]: mismatched types
#0 131.4    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bam/record.rs:964:25
#0 131.4     |
#0 131.4 964 |                         ctag,
#0 131.4     |                         ^^^^ expected `u8`, found `i8`
#0 131.4     |
#0 131.4     = note: expected raw pointer `*const u8`
#0 131.4                found raw pointer `*mut i8`
#0 131.4 
#0 131.4 error[E0308]: mismatched types
#0 131.4    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bam/record.rs:971:25
#0 131.4     |
#0 131.4 971 |                         ctag,
#0 131.4     |                         ^^^^ expected `u8`, found `i8`
#0 131.4     |
#0 131.4     = note: expected raw pointer `*const u8`
#0 131.4                found raw pointer `*mut i8`
#0 131.4 
#0 131.4 error[E0308]: mismatched types
#0 131.4    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bam/record.rs:980:25
#0 131.4     |
#0 131.4 980 |                         ctag,
#0 131.4     |                         ^^^^ expected `u8`, found `i8`
#0 131.4     |
#0 131.4     = note: expected raw pointer `*const u8`
#0 131.4                found raw pointer `*mut i8`
#0 131.4 
#0 131.4 error[E0308]: mismatched types
#0 131.4    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bam/record.rs:987:25
#0 131.4     |
#0 131.4 987 |                         ctag,
#0 131.4     |                         ^^^^ expected `u8`, found `i8`
#0 131.4     |
#0 131.4     = note: expected raw pointer `*const u8`
#0 131.4                found raw pointer `*mut i8`
#0 131.4 
#0 131.4 error[E0308]: mismatched types
#0 131.4     --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bam/record.rs:1009:17
#0 131.4      |
#0 131.4 1009 |                 c_str.as_ptr() as *mut i8,
#0 131.4      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u8`, found `i8`
#0 131.4      |
#0 131.4      = note: expected raw pointer `*const u8`
#0 131.4                 found raw pointer `*mut i8`
#0 131.4 
#0 131.5 error[E0308]: mismatched types
#0 131.5    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bam/mod.rs:268:55
#0 131.5     |
#0 131.5 268 |             let _ = htslib::sam_hdr_line_name(header, b"SQ".as_ptr().cast::<i8>(), 0);
#0 131.5     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u8`, found `i8`
#0 131.5     |
#0 131.5     = note: expected raw pointer `*const u8`
#0 131.5                found raw pointer `*const i8`
#0 131.5 
#0 131.5    Compiling bio v0.41.0
#0 131.5 error[E0308]: mismatched types
#0 131.5    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bam/mod.rs:943:17
#0 131.5     |
#0 131.5 943 |                 text as *const i8,
#0 131.5     |                 ^^^^^^^^^^^^^^^^^ expected `u8`, found `i8`
#0 131.5     |
#0 131.5     = note: expected raw pointer `*const u8`
#0 131.5                found raw pointer `*const i8`
#0 131.5 
#0 131.5 error[E0308]: mismatched types
#0 131.5    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bam/mod.rs:946:27
#0 131.5     |
#0 131.5 946 |             (*rec).text = text as *mut i8;
#0 131.5     |             -----------   ^^^^^^^^^^^^^^^ expected `u8`, found `i8`
#0 131.5     |             |
#0 131.5     |             expected due to the type of this binding
#0 131.5     |
#0 131.5     = note: expected raw pointer `*mut u8`
#0 131.5                found raw pointer `*mut i8`
#0 131.5 
#0 131.5 error[E0308]: mismatched types
#0 131.5     --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bam/mod.rs:1212:66
#0 131.5      |
#0 131.5 1212 |             let rec = htslib::sam_hdr_parse((l_text + 1) as u64, text as *const i8);
#0 131.5      |                                                                  ^^^^^^^^^^^^^^^^^ expected `u8`, found `i8`
#0 131.5      |
#0 131.5      = note: expected raw pointer `*const u8`
#0 131.5                 found raw pointer `*const i8`
#0 131.5 
#0 131.6 error[E0308]: mismatched types
#0 131.6     --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bam/mod.rs:1213:27
#0 131.6      |
#0 131.6 1213 |             (*rec).text = text as *mut i8;
#0 131.6      |             -----------   ^^^^^^^^^^^^^^^ expected `u8`, found `i8`
#0 131.6      |             |
#0 131.6      |             expected due to the type of this binding
#0 131.6      |
#0 131.6      = note: expected raw pointer `*mut u8`
#0 131.6                 found raw pointer `*mut i8`
#0 131.6 
#0 131.6 error[E0308]: mismatched types
#0 131.6    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bcf/header.rs:118:17
#0 131.6     |
#0 131.6 118 |                 name_pointers.as_ptr() as *const *mut i8,
#0 131.6     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u8`, found `i8`
#0 131.6     |
#0 131.6     = note: expected raw pointer `*const *mut u8`
#0 131.6                found raw pointer `*const *mut i8`
#0 131.6 
#0 131.6 error[E0308]: mismatched types
#0 131.6    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bcf/header.rs:341:17
#0 131.6     |
#0 131.6 341 |                 c_str.as_ptr() as *mut i8,
#0 131.6     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u8`, found `i8`
#0 131.6     |
#0 131.6     = note: expected raw pointer `*const u8`
#0 131.6                found raw pointer `*mut i8`
#0 131.6 
#0 131.6 error[E0308]: mismatched types
#0 131.6    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bcf/header.rs:366:17
#0 131.6     |
#0 131.6 366 |                 c_str_tag.as_ptr() as *mut i8,
#0 131.6     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u8`, found `i8`
#0 131.6     |
#0 131.6     = note: expected raw pointer `*const u8`
#0 131.6                found raw pointer `*mut i8`
#0 131.6 
#0 131.6 error[E0308]: mismatched types
#0 131.6    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bcf/header.rs:403:17
#0 131.6     |
#0 131.6 403 |                 c_str.as_ptr() as *const i8,
#0 131.6     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u8`, found `i8`
#0 131.6     |
#0 131.6     = note: expected raw pointer `*const u8`
#0 131.6                found raw pointer `*const i8`
#0 131.6 
#0 131.7 error[E0308]: mismatched types
#0 131.7    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bcf/header.rs:431:17
#0 131.7     |
#0 131.7 431 |                 c_str.as_ptr() as *const i8,
#0 131.7     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u8`, found `i8`
#0 131.7     |
#0 131.7     = note: expected raw pointer `*const u8`
#0 131.7                found raw pointer `*const i8`
#0 131.7 
#0 131.7 error[E0308]: mismatched types
#0 131.7    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bcf/record.rs:319:68
#0 131.7     |
#0 131.7 319 |             htslib::bcf_update_id(self.header().inner, self.inner, c_str.as_ptr() as *mut i8)
#0 131.7     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u8`, found `i8`
#0 131.7     |
#0 131.7     = note: expected raw pointer `*const u8`
#0 131.7                found raw pointer `*mut i8`
#0 131.7 
#0 131.7 error[E0308]: mismatched types
#0 131.7    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bcf/record.rs:332:68
#0 131.7     |
#0 131.7 332 |             htslib::bcf_update_id(self.header().inner, self.inner, c_str.as_ptr() as *mut i8)
#0 131.7     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u8`, found `i8`
#0 131.7     |
#0 131.7     = note: expected raw pointer `*const u8`
#0 131.7                found raw pointer `*mut i8`
#0 131.7 
#0 131.7 error[E0308]: mismatched types
#0 131.7    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bcf/record.rs:344:73
#0 131.7     |
#0 131.7 344 |         if unsafe { htslib::bcf_add_id(self.header().inner, self.inner, c_str.as_ptr() as *mut i8) }
#0 131.7     |                                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u8`, found `i8`
#0 131.7     |
#0 131.7     = note: expected raw pointer `*const u8`
#0 131.7                found raw pointer `*mut i8`
#0 131.7 
#0 131.7 error[E0308]: mismatched types
#0 131.7    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bcf/record.rs:591:17
#0 131.7     |
#0 131.7 591 |                 ptrs.as_mut_ptr(),
#0 131.7     |                 ^^^^^^^^^^^^^^^^^ expected `u8`, found `i8`
#0 131.7     |
#0 131.7     = note: expected raw pointer `*mut *const u8`
#0 131.7                found raw pointer `*mut *const i8`
#0 131.7 
#0 131.8 error[E0308]: mismatched types
#0 131.8    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bcf/record.rs:825:17
#0 131.8     |
#0 131.8 825 |                 tag_c_str.as_ptr() as *mut i8,
#0 131.8     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u8`, found `i8`
#0 131.8     |
#0 131.8     = note: expected raw pointer `*const u8`
#0 131.8                found raw pointer `*mut i8`
#0 131.8 
#0 131.8 error[E0308]: mismatched types
#0 131.8    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bcf/record.rs:872:17
#0 131.8     |
#0 131.8 872 |                 tag_c_str.as_ptr() as *mut i8,
#0 131.8     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u8`, found `i8`
#0 131.8     |
#0 131.8     = note: expected raw pointer `*const u8`
#0 131.8                found raw pointer `*mut i8`
#0 131.8 
#0 131.8 error[E0308]: mismatched types
#0 131.8    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bcf/record.rs:873:17
#0 131.8     |
#0 131.8 873 |                 c_ptrs.as_slice().as_ptr() as *mut *const i8,
#0 131.8     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u8`, found `i8`
#0 131.8     |
#0 131.8     = note: expected raw pointer `*mut *const u8`
#0 131.8                found raw pointer `*mut *const i8`
#0 131.8 
#0 131.9 error[E0308]: mismatched types
#0 131.9    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bcf/record.rs:918:17
#0 131.9     |
#0 131.9 918 |                 tag_c_str.as_ptr() as *mut i8,
#0 131.9     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u8`, found `i8`
#0 131.9     |
#0 131.9     = note: expected raw pointer `*const u8`
#0 131.9                found raw pointer `*mut i8`
#0 131.9 
#0 131.9 error[E0308]: mismatched types
#0 131.9    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bcf/record.rs:973:17
#0 131.9     |
#0 131.9 973 |                 tag_c_str.as_ptr() as *mut i8,
#0 131.9     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u8`, found `i8`
#0 131.9     |
#0 131.9     = note: expected raw pointer `*const u8`
#0 131.9                found raw pointer `*mut i8`
#0 131.9 
#0 131.9 error[E0308]: mismatched types
#0 131.9     --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bcf/record.rs:1234:17
#0 131.9      |
#0 131.9 1234 |                 c_str.as_ptr() as *mut i8,
#0 131.9      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u8`, found `i8`
#0 131.9      |
#0 131.9      = note: expected raw pointer `*const u8`
#0 131.9                 found raw pointer `*mut i8`
#0 131.9 
#0 131.9 error[E0308]: mismatched types
#0 131.9     --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bcf/record.rs:1349:17
#0 131.9      |
#0 131.9 1349 |                 c_str.as_ptr() as *mut i8,
#0 131.9      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u8`, found `i8`
#0 131.9      |
#0 131.9      = note: expected raw pointer `*const u8`
#0 131.9                 found raw pointer `*mut i8`
#0 131.9 
#0 132.0 error[E0308]: mismatched types
#0 132.0     --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-htslib-0.38.2/src/bcf/record.rs:1385:17
#0 132.0      |
#0 132.0 1385 |                 c_str.as_ptr() as *mut i8,
#0 132.0      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u8`, found `i8`
#0 132.0      |
#0 132.0      = note: expected raw pointer `*const u8`
#0 132.0                 found raw pointer `*mut i8`
#0 132.0 
#0 132.1 For more information about this error, try `rustc --explain E0308`.
#0 132.1 error: could not compile `rust-htslib` due to 62 previous errors
#0 132.1 warning: build failed, waiting for other jobs to finish...
#0 137.5 error: build failed

Support overhanging alignments

Currently if a read is overhanging on one end of the transcript, it will not be reported. However, we should improve on this by softclipping the overhanging bases.

Off by one error in setting the number of threads

In setting the number of threads for BAM/SAM reader/writer, the function accepts the extra number of threads, not the total. That means the current implementation is assigning one more threads in case of multi-threading.

Compiling error on MacOS

Hi team,

The following error on MacOS:

The following warnings were emitted during compilation:

warning: curl/lib/connect.c: In function 'singleipconnect':
warning: curl/lib/connect.c:1279:10: warning: implicit declaration of function '__builtin_available'; did you mean '__builtin_scalbl'? [-Wimplicit-function-declaration]
warning: 1279 | if(__builtin_available(macOS 10.11, iOS 9.0, tvOS 9.0, watchOS 2.0, *)) {
warning: | ^~~~~~~~~~~~~~~~~~~
warning: | __builtin_scalbl
warning: curl/lib/connect.c:1279:30: error: 'macOS' undeclared (first use in this function)
warning: 1279 | if(__builtin_available(macOS 10.11, iOS 9.0, tvOS 9.0, watchOS 2.0, *)) {
warning: | ^~~~~
warning: curl/lib/connect.c:1279:30: note: each undeclared identifier is reported only once for each function it appears in
warning: curl/lib/connect.c:1279:35: error: expected ')' before numeric constant
warning: 1279 | if(__builtin_available(macOS 10.11, iOS 9.0, tvOS 9.0, watchOS 2.0, *)) {
warning: | ~ ^~~~~~
warning: | )

error: failed to run custom build command for curl-sys v0.4.52+curl-7.81.0

Caused by:
process didn't exit successfully: /Users/jianshuzhao/Github/mudskipper/target/release/build/curl-sys-9b4192310196e29f/build-script-build (exit status: 1)
--- stdout
cargo:rerun-if-changed=curl
cargo:rustc-link-lib=clang_rt.osx
cargo:rustc-link-search=/opt/homebrew/Cellar/llvm/13.0.1/lib/clang/13.0.1/lib/darwin
cargo:root=/Users/jianshuzhao/Github/mudskipper/target/release/build/curl-sys-fd2b0ac6e5689972/out
cargo:include=/Users/jianshuzhao/Github/mudskipper/target/release/build/curl-sys-fd2b0ac6e5689972/out/include
cargo:static=1
cargo:rustc-cfg=libcurl_vendored
cargo:rustc-cfg=link_libz
/Library/Developer/CommandLineTools
unable to determine Xcode version, assuming >= 9
TARGET = Some("aarch64-apple-darwin")
OPT_LEVEL = Some("3")
HOST = Some("aarch64-apple-darwin")
CC_aarch64-apple-darwin = None
CC_aarch64_apple_darwin = None
HOST_CC = None
CC = None
CFLAGS_aarch64-apple-darwin = None
CFLAGS_aarch64_apple_darwin = None
HOST_CFLAGS = None
CFLAGS = None
CRATE_CC_NO_DEFAULTS = None
DEBUG = Some("false")
CARGO_CFG_TARGET_FEATURE = Some("aes,crc,dit,dotprod,dpb,dpb2,fcma,fhm,flagm,fp,fp16,frintts,jsconv,lor,lse,neon,pan,pauth,pmuv3,ras,rcpc,rcpc2,rdm,sb,sha2,sha3,ssbs,v8.1a,v8.2a,v8.3a,v8.4a,vh")
running: "cc" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-arch" "arm64" "-I" "curl/lib" "-I" "curl/include" "-I" "/Users/jianshuzhao/Github/mudskipper/target/release/build/libz-sys-4a0742c61ab93e89/out/include" "-fvisibility=hidden" "-DBUILDING_LIBCURL" "-DCURL_DISABLE_DICT" "-DCURL_DISABLE_GOPHER" "-DCURL_DISABLE_IMAP" "-DCURL_DISABLE_LDAP" "-DCURL_DISABLE_LDAPS" "-DCURL_DISABLE_POP3" "-DCURL_DISABLE_RTSP" "-DCURL_DISABLE_SMB" "-DCURL_DISABLE_SMTP" "-DCURL_DISABLE_TELNET" "-DCURL_DISABLE_TFTP" "-DCURL_STATICLIB" "-DENABLE_IPV6" "-DHAVE_ASSERT_H" "-DOS="unknown"" "-DHAVE_ZLIB_H" "-DHAVE_LONGLONG" "-DHAVE_LIBZ" "-DHAVE_BOOL_T" "-DHAVE_STDBOOL_H" "-DHAVE_GETADDRINFO" "-DHAVE_GETPEERNAME" "-DHAVE_GETSOCKNAME" "-DCURL_DISABLE_NTLM" "-DUSE_SECTRANSP" "-DHAVE_BUILTIN_AVAILABLE=1" "-DRECV_TYPE_ARG1=int" "-DHAVE_PTHREAD_H" "-DHAVE_ARPA_INET_H" "-DHAVE_ERRNO_H" "-DHAVE_FCNTL_H" "-DHAVE_NETDB_H" "-DHAVE_NETINET_IN_H" "-DHAVE_NETINET_TCP_H" "-DHAVE_POLL_H" "-DHAVE_FCNTL_O_NONBLOCK" "-DHAVE_SYS_SELECT_H" "-DHAVE_SYS_STAT_H" "-DHAVE_UNISTD_H" "-DHAVE_RECV" "-DHAVE_SELECT" "-DHAVE_SEND" "-DHAVE_SOCKET" "-DHAVE_STERRROR_R" "-DHAVE_SOCKETPAIR" "-DHAVE_STRUCT_TIMEVAL" "-DHAVE_SYS_UN_H" "-DUSE_THREADS_POSIX" "-DUSE_UNIX_SOCKETS" "-DRECV_TYPE_ARG2=void*" "-DRECV_TYPE_ARG3=size_t" "-DRECV_TYPE_ARG4=int" "-DRECV_TYPE_RETV=ssize_t" "-DSEND_QUAL_ARG2=const" "-DSEND_TYPE_ARG1=int" "-DSEND_TYPE_ARG2=void*" "-DSEND_TYPE_ARG3=size_t" "-DSEND_TYPE_ARG4=int" "-DSEND_TYPE_RETV=ssize_t" "-DSIZEOF_CURL_OFF_T=8" "-DSIZEOF_INT=4" "-DSIZEOF_SHORT=2" "-D__APPLE__" "-Dmacintosh" "-DHAVE_MACH_ABSOLUTE_TIME" "-DSIZEOF_SSIZE_T=8" "-DSIZEOF_SIZE_T=8" "-DSIZEOF_LONG=8" "-o" "/Users/jianshuzhao/Github/mudskipper/target/release/build/curl-sys-fd2b0ac6e5689972/out/build/curl/lib/conncache.o" "-c" "curl/lib/conncache.c"
running: "cc" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-arch" "arm64" "-I" "curl/lib" "-I" "curl/include" "-I" "/Users/jianshuzhao/Github/mudskipper/target/release/build/libz-sys-4a0742c61ab93e89/out/include" "-fvisibility=hidden" "-DBUILDING_LIBCURL" "-DCURL_DISABLE_DICT" "-DCURL_DISABLE_GOPHER" "-DCURL_DISABLE_IMAP" "-DCURL_DISABLE_LDAP" "-DCURL_DISABLE_LDAPS" "-DCURL_DISABLE_POP3" "-DCURL_DISABLE_RTSP" "-DCURL_DISABLE_SMB" "-DCURL_DISABLE_SMTP" "-DCURL_DISABLE_TELNET" "-DCURL_DISABLE_TFTP" "-DCURL_STATICLIB" "-DENABLE_IPV6" "-DHAVE_ASSERT_H" "-DOS="unknown"" "-DHAVE_ZLIB_H" "-DHAVE_LONGLONG" "-DHAVE_LIBZ" "-DHAVE_BOOL_T" "-DHAVE_STDBOOL_H" "-DHAVE_GETADDRINFO" "-DHAVE_GETPEERNAME" "-DHAVE_GETSOCKNAME" "-DCURL_DISABLE_NTLM" "-DUSE_SECTRANSP" "-DHAVE_BUILTIN_AVAILABLE=1" "-DRECV_TYPE_ARG1=int" "-DHAVE_PTHREAD_H" "-DHAVE_ARPA_INET_H" "-DHAVE_ERRNO_H" "-DHAVE_FCNTL_H" "-DHAVE_NETDB_H" "-DHAVE_NETINET_IN_H" "-DHAVE_NETINET_TCP_H" "-DHAVE_POLL_H" "-DHAVE_FCNTL_O_NONBLOCK" "-DHAVE_SYS_SELECT_H" "-DHAVE_SYS_STAT_H" "-DHAVE_UNISTD_H" "-DHAVE_RECV" "-DHAVE_SELECT" "-DHAVE_SEND" "-DHAVE_SOCKET" "-DHAVE_STERRROR_R" "-DHAVE_SOCKETPAIR" "-DHAVE_STRUCT_TIMEVAL" "-DHAVE_SYS_UN_H" "-DUSE_THREADS_POSIX" "-DUSE_UNIX_SOCKETS" "-DRECV_TYPE_ARG2=void*" "-DRECV_TYPE_ARG3=size_t" "-DRECV_TYPE_ARG4=int" "-DRECV_TYPE_RETV=ssize_t" "-DSEND_QUAL_ARG2=const" "-DSEND_TYPE_ARG1=int" "-DSEND_TYPE_ARG2=void*" "-DSEND_TYPE_ARG3=size_t" "-DSEND_TYPE_ARG4=int" "-DSEND_TYPE_RETV=ssize_t" "-DSIZEOF_CURL_OFF_T=8" "-DSIZEOF_INT=4" "-DSIZEOF_SHORT=2" "-D__APPLE__" "-Dmacintosh" "-DHAVE_MACH_ABSOLUTE_TIME" "-DSIZEOF_SSIZE_T=8" "-DSIZEOF_SIZE_T=8" "-DSIZEOF_LONG=8" "-o" "/Users/jianshuzhao/Github/mudskipper/target/release/build/curl-sys-fd2b0ac6e5689972/out/build/curl/lib/asyn-thread.o" "-c" "curl/lib/asyn-thread.c"
running: "cc" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-arch" "arm64" "-I" "curl/lib" "-I" "curl/include" "-I" "/Users/jianshuzhao/Github/mudskipper/target/release/build/libz-sys-4a0742c61ab93e89/out/include" "-fvisibility=hidden" "-DBUILDING_LIBCURL" "-DCURL_DISABLE_DICT" "-DCURL_DISABLE_GOPHER" "-DCURL_DISABLE_IMAP" "-DCURL_DISABLE_LDAP" "-DCURL_DISABLE_LDAPS" "-DCURL_DISABLE_POP3" "-DCURL_DISABLE_RTSP" "-DCURL_DISABLE_SMB" "-DCURL_DISABLE_SMTP" "-DCURL_DISABLE_TELNET" "-DCURL_DISABLE_TFTP" "-DCURL_STATICLIB" "-DENABLE_IPV6" "-DHAVE_ASSERT_H" "-DOS="unknown"" "-DHAVE_ZLIB_H" "-DHAVE_LONGLONG" "-DHAVE_LIBZ" "-DHAVE_BOOL_T" "-DHAVE_STDBOOL_H" "-DHAVE_GETADDRINFO" "-DHAVE_GETPEERNAME" "-DHAVE_GETSOCKNAME" "-DCURL_DISABLE_NTLM" "-DUSE_SECTRANSP" "-DHAVE_BUILTIN_AVAILABLE=1" "-DRECV_TYPE_ARG1=int" "-DHAVE_PTHREAD_H" "-DHAVE_ARPA_INET_H" "-DHAVE_ERRNO_H" "-DHAVE_FCNTL_H" "-DHAVE_NETDB_H" "-DHAVE_NETINET_IN_H" "-DHAVE_NETINET_TCP_H" "-DHAVE_POLL_H" "-DHAVE_FCNTL_O_NONBLOCK" "-DHAVE_SYS_SELECT_H" "-DHAVE_SYS_STAT_H" "-DHAVE_UNISTD_H" "-DHAVE_RECV" "-DHAVE_SELECT" "-DHAVE_SEND" "-DHAVE_SOCKET" "-DHAVE_STERRROR_R" "-DHAVE_SOCKETPAIR" "-DHAVE_STRUCT_TIMEVAL" "-DHAVE_SYS_UN_H" "-DUSE_THREADS_POSIX" "-DUSE_UNIX_SOCKETS" "-DRECV_TYPE_ARG2=void*" "-DRECV_TYPE_ARG3=size_t" "-DRECV_TYPE_ARG4=int" "-DRECV_TYPE_RETV=ssize_t" "-DSEND_QUAL_ARG2=const" "-DSEND_TYPE_ARG1=int" "-DSEND_TYPE_ARG2=void*" "-DSEND_TYPE_ARG3=size_t" "-DSEND_TYPE_ARG4=int" "-DSEND_TYPE_RETV=ssize_t" "-DSIZEOF_CURL_OFF_T=8" "-DSIZEOF_INT=4" "-DSIZEOF_SHORT=2" "-D__APPLE__" "-Dmacintosh" "-DHAVE_MACH_ABSOLUTE_TIME" "-DSIZEOF_SSIZE_T=8" "-DSIZEOF_SIZE_T=8" "-DSIZEOF_LONG=8" "-o" "/Users/jianshuzhao/Github/mudskipper/target/release/build/curl-sys-fd2b0ac6e5689972/out/build/curl/lib/content_encoding.o" "-c" "curl/lib/content_encoding.c"
running: "cc" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-arch" "arm64" "-I" "curl/lib" "-I" "curl/include" "-I" "/Users/jianshuzhao/Github/mudskipper/target/release/build/libz-sys-4a0742c61ab93e89/out/include" "-fvisibility=hidden" "-DBUILDING_LIBCURL" "-DCURL_DISABLE_DICT" "-DCURL_DISABLE_GOPHER" "-DCURL_DISABLE_IMAP" "-DCURL_DISABLE_LDAP" "-DCURL_DISABLE_LDAPS" "-DCURL_DISABLE_POP3" "-DCURL_DISABLE_RTSP" "-DCURL_DISABLE_SMB" "-DCURL_DISABLE_SMTP" "-DCURL_DISABLE_TELNET" "-DCURL_DISABLE_TFTP" "-DCURL_STATICLIB" "-DENABLE_IPV6" "-DHAVE_ASSERT_H" "-DOS="unknown"" "-DHAVE_ZLIB_H" "-DHAVE_LONGLONG" "-DHAVE_LIBZ" "-DHAVE_BOOL_T" "-DHAVE_STDBOOL_H" "-DHAVE_GETADDRINFO" "-DHAVE_GETPEERNAME" "-DHAVE_GETSOCKNAME" "-DCURL_DISABLE_NTLM" "-DUSE_SECTRANSP" "-DHAVE_BUILTIN_AVAILABLE=1" "-DRECV_TYPE_ARG1=int" "-DHAVE_PTHREAD_H" "-DHAVE_ARPA_INET_H" "-DHAVE_ERRNO_H" "-DHAVE_FCNTL_H" "-DHAVE_NETDB_H" "-DHAVE_NETINET_IN_H" "-DHAVE_NETINET_TCP_H" "-DHAVE_POLL_H" "-DHAVE_FCNTL_O_NONBLOCK" "-DHAVE_SYS_SELECT_H" "-DHAVE_SYS_STAT_H" "-DHAVE_UNISTD_H" "-DHAVE_RECV" "-DHAVE_SELECT" "-DHAVE_SEND" "-DHAVE_SOCKET" "-DHAVE_STERRROR_R" "-DHAVE_SOCKETPAIR" "-DHAVE_STRUCT_TIMEVAL" "-DHAVE_SYS_UN_H" "-DUSE_THREADS_POSIX" "-DUSE_UNIX_SOCKETS" "-DRECV_TYPE_ARG2=void*" "-DRECV_TYPE_ARG3=size_t" "-DRECV_TYPE_ARG4=int" "-DRECV_TYPE_RETV=ssize_t" "-DSEND_QUAL_ARG2=const" "-DSEND_TYPE_ARG1=int" "-DSEND_TYPE_ARG2=void*" "-DSEND_TYPE_ARG3=size_t" "-DSEND_TYPE_ARG4=int" "-DSEND_TYPE_RETV=ssize_t" "-DSIZEOF_CURL_OFF_T=8" "-DSIZEOF_INT=4" "-DSIZEOF_SHORT=2" "-D__APPLE__" "-Dmacintosh" "-DHAVE_MACH_ABSOLUTE_TIME" "-DSIZEOF_SSIZE_T=8" "-DSIZEOF_SIZE_T=8" "-DSIZEOF_LONG=8" "-o" "/Users/jianshuzhao/Github/mudskipper/target/release/build/curl-sys-fd2b0ac6e5689972/out/build/curl/lib/bufref.o" "-c" "curl/lib/bufref.c"
running: "cc" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-arch" "arm64" "-I" "curl/lib" "-I" "curl/include" "-I" "/Users/jianshuzhao/Github/mudskipper/target/release/build/libz-sys-4a0742c61ab93e89/out/include" "-fvisibility=hidden" "-DBUILDING_LIBCURL" "-DCURL_DISABLE_DICT" "-DCURL_DISABLE_GOPHER" "-DCURL_DISABLE_IMAP" "-DCURL_DISABLE_LDAP" "-DCURL_DISABLE_LDAPS" "-DCURL_DISABLE_POP3" "-DCURL_DISABLE_RTSP" "-DCURL_DISABLE_SMB" "-DCURL_DISABLE_SMTP" "-DCURL_DISABLE_TELNET" "-DCURL_DISABLE_TFTP" "-DCURL_STATICLIB" "-DENABLE_IPV6" "-DHAVE_ASSERT_H" "-DOS="unknown"" "-DHAVE_ZLIB_H" "-DHAVE_LONGLONG" "-DHAVE_LIBZ" "-DHAVE_BOOL_T" "-DHAVE_STDBOOL_H" "-DHAVE_GETADDRINFO" "-DHAVE_GETPEERNAME" "-DHAVE_GETSOCKNAME" "-DCURL_DISABLE_NTLM" "-DUSE_SECTRANSP" "-DHAVE_BUILTIN_AVAILABLE=1" "-DRECV_TYPE_ARG1=int" "-DHAVE_PTHREAD_H" "-DHAVE_ARPA_INET_H" "-DHAVE_ERRNO_H" "-DHAVE_FCNTL_H" "-DHAVE_NETDB_H" "-DHAVE_NETINET_IN_H" "-DHAVE_NETINET_TCP_H" "-DHAVE_POLL_H" "-DHAVE_FCNTL_O_NONBLOCK" "-DHAVE_SYS_SELECT_H" "-DHAVE_SYS_STAT_H" "-DHAVE_UNISTD_H" "-DHAVE_RECV" "-DHAVE_SELECT" "-DHAVE_SEND" "-DHAVE_SOCKET" "-DHAVE_STERRROR_R" "-DHAVE_SOCKETPAIR" "-DHAVE_STRUCT_TIMEVAL" "-DHAVE_SYS_UN_H" "-DUSE_THREADS_POSIX" "-DUSE_UNIX_SOCKETS" "-DRECV_TYPE_ARG2=void*" "-DRECV_TYPE_ARG3=size_t" "-DRECV_TYPE_ARG4=int" "-DRECV_TYPE_RETV=ssize_t" "-DSEND_QUAL_ARG2=const" "-DSEND_TYPE_ARG1=int" "-DSEND_TYPE_ARG2=void*" "-DSEND_TYPE_ARG3=size_t" "-DSEND_TYPE_ARG4=int" "-DSEND_TYPE_RETV=ssize_t" "-DSIZEOF_CURL_OFF_T=8" "-DSIZEOF_INT=4" "-DSIZEOF_SHORT=2" "-D__APPLE__" "-Dmacintosh" "-DHAVE_MACH_ABSOLUTE_TIME" "-DSIZEOF_SSIZE_T=8" "-DSIZEOF_SIZE_T=8" "-DSIZEOF_LONG=8" "-o" "/Users/jianshuzhao/Github/mudskipper/target/release/build/curl-sys-fd2b0ac6e5689972/out/build/curl/lib/altsvc.o" "-c" "curl/lib/altsvc.c"
running: "cc" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-arch" "arm64" "-I" "curl/lib" "-I" "curl/include" "-I" "/Users/jianshuzhao/Github/mudskipper/target/release/build/libz-sys-4a0742c61ab93e89/out/include" "-fvisibility=hidden" "-DBUILDING_LIBCURL" "-DCURL_DISABLE_DICT" "-DCURL_DISABLE_GOPHER" "-DCURL_DISABLE_IMAP" "-DCURL_DISABLE_LDAP" "-DCURL_DISABLE_LDAPS" "-DCURL_DISABLE_POP3" "-DCURL_DISABLE_RTSP" "-DCURL_DISABLE_SMB" "-DCURL_DISABLE_SMTP" "-DCURL_DISABLE_TELNET" "-DCURL_DISABLE_TFTP" "-DCURL_STATICLIB" "-DENABLE_IPV6" "-DHAVE_ASSERT_H" "-DOS="unknown"" "-DHAVE_ZLIB_H" "-DHAVE_LONGLONG" "-DHAVE_LIBZ" "-DHAVE_BOOL_T" "-DHAVE_STDBOOL_H" "-DHAVE_GETADDRINFO" "-DHAVE_GETPEERNAME" "-DHAVE_GETSOCKNAME" "-DCURL_DISABLE_NTLM" "-DUSE_SECTRANSP" "-DHAVE_BUILTIN_AVAILABLE=1" "-DRECV_TYPE_ARG1=int" "-DHAVE_PTHREAD_H" "-DHAVE_ARPA_INET_H" "-DHAVE_ERRNO_H" "-DHAVE_FCNTL_H" "-DHAVE_NETDB_H" "-DHAVE_NETINET_IN_H" "-DHAVE_NETINET_TCP_H" "-DHAVE_POLL_H" "-DHAVE_FCNTL_O_NONBLOCK" "-DHAVE_SYS_SELECT_H" "-DHAVE_SYS_STAT_H" "-DHAVE_UNISTD_H" "-DHAVE_RECV" "-DHAVE_SELECT" "-DHAVE_SEND" "-DHAVE_SOCKET" "-DHAVE_STERRROR_R" "-DHAVE_SOCKETPAIR" "-DHAVE_STRUCT_TIMEVAL" "-DHAVE_SYS_UN_H" "-DUSE_THREADS_POSIX" "-DUSE_UNIX_SOCKETS" "-DRECV_TYPE_ARG2=void*" "-DRECV_TYPE_ARG3=size_t" "-DRECV_TYPE_ARG4=int" "-DRECV_TYPE_RETV=ssize_t" "-DSEND_QUAL_ARG2=const" "-DSEND_TYPE_ARG1=int" "-DSEND_TYPE_ARG2=void*" "-DSEND_TYPE_ARG3=size_t" "-DSEND_TYPE_ARG4=int" "-DSEND_TYPE_RETV=ssize_t" "-DSIZEOF_CURL_OFF_T=8" "-DSIZEOF_INT=4" "-DSIZEOF_SHORT=2" "-D__APPLE__" "-Dmacintosh" "-DHAVE_MACH_ABSOLUTE_TIME" "-DSIZEOF_SSIZE_T=8" "-DSIZEOF_SIZE_T=8" "-DSIZEOF_LONG=8" "-o" "/Users/jianshuzhao/Github/mudskipper/target/release/build/curl-sys-fd2b0ac6e5689972/out/build/curl/lib/base64.o" "-c" "curl/lib/base64.c"
running: "cc" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-arch" "arm64" "-I" "curl/lib" "-I" "curl/include" "-I" "/Users/jianshuzhao/Github/mudskipper/target/release/build/libz-sys-4a0742c61ab93e89/out/include" "-fvisibility=hidden" "-DBUILDING_LIBCURL" "-DCURL_DISABLE_DICT" "-DCURL_DISABLE_GOPHER" "-DCURL_DISABLE_IMAP" "-DCURL_DISABLE_LDAP" "-DCURL_DISABLE_LDAPS" "-DCURL_DISABLE_POP3" "-DCURL_DISABLE_RTSP" "-DCURL_DISABLE_SMB" "-DCURL_DISABLE_SMTP" "-DCURL_DISABLE_TELNET" "-DCURL_DISABLE_TFTP" "-DCURL_STATICLIB" "-DENABLE_IPV6" "-DHAVE_ASSERT_H" "-DOS="unknown"" "-DHAVE_ZLIB_H" "-DHAVE_LONGLONG" "-DHAVE_LIBZ" "-DHAVE_BOOL_T" "-DHAVE_STDBOOL_H" "-DHAVE_GETADDRINFO" "-DHAVE_GETPEERNAME" "-DHAVE_GETSOCKNAME" "-DCURL_DISABLE_NTLM" "-DUSE_SECTRANSP" "-DHAVE_BUILTIN_AVAILABLE=1" "-DRECV_TYPE_ARG1=int" "-DHAVE_PTHREAD_H" "-DHAVE_ARPA_INET_H" "-DHAVE_ERRNO_H" "-DHAVE_FCNTL_H" "-DHAVE_NETDB_H" "-DHAVE_NETINET_IN_H" "-DHAVE_NETINET_TCP_H" "-DHAVE_POLL_H" "-DHAVE_FCNTL_O_NONBLOCK" "-DHAVE_SYS_SELECT_H" "-DHAVE_SYS_STAT_H" "-DHAVE_UNISTD_H" "-DHAVE_RECV" "-DHAVE_SELECT" "-DHAVE_SEND" "-DHAVE_SOCKET" "-DHAVE_STERRROR_R" "-DHAVE_SOCKETPAIR" "-DHAVE_STRUCT_TIMEVAL" "-DHAVE_SYS_UN_H" "-DUSE_THREADS_POSIX" "-DUSE_UNIX_SOCKETS" "-DRECV_TYPE_ARG2=void*" "-DRECV_TYPE_ARG3=size_t" "-DRECV_TYPE_ARG4=int" "-DRECV_TYPE_RETV=ssize_t" "-DSEND_QUAL_ARG2=const" "-DSEND_TYPE_ARG1=int" "-DSEND_TYPE_ARG2=void*" "-DSEND_TYPE_ARG3=size_t" "-DSEND_TYPE_ARG4=int" "-DSEND_TYPE_RETV=ssize_t" "-DSIZEOF_CURL_OFF_T=8" "-DSIZEOF_INT=4" "-DSIZEOF_SHORT=2" "-D__APPLE__" "-Dmacintosh" "-DHAVE_MACH_ABSOLUTE_TIME" "-DSIZEOF_SSIZE_T=8" "-DSIZEOF_SIZE_T=8" "-DSIZEOF_LONG=8" "-o" "/Users/jianshuzhao/Github/mudskipper/target/release/build/curl-sys-fd2b0ac6e5689972/out/build/curl/lib/connect.o" "-c" "curl/lib/connect.c"
cargo:warning=curl/lib/connect.c: In function 'singleipconnect':
cargo:warning=curl/lib/connect.c:1279:10: warning: implicit declaration of function '__builtin_available'; did you mean '__builtin_scalbl'? [-Wimplicit-function-declaration]
cargo:warning= 1279 | if(__builtin_available(macOS 10.11, iOS 9.0, tvOS 9.0, watchOS 2.0, *)) {
cargo:warning= | ^~~~~~~~~~~~~~~~~~~
cargo:warning= | __builtin_scalbl
cargo:warning=curl/lib/connect.c:1279:30: error: 'macOS' undeclared (first use in this function)
cargo:warning= 1279 | if(builtin_available(macOS 10.11, iOS 9.0, tvOS 9.0, watchOS 2.0, )) {
cargo:warning= | ^~~~~
cargo:warning=curl/lib/connect.c:1279:30: note: each undeclared identifier is reported only once for each function it appears in
cargo:warning=curl/lib/connect.c:1279:35: error: expected ')' before numeric constant
cargo:warning= 1279 | if(__builtin_available(macOS 10.11, iOS 9.0, tvOS 9.0, watchOS 2.0, )) {
cargo:warning= | ~ ^~~~~~
cargo:warning= | )
exit status: 1
running: "cc" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-arch" "arm64" "-I" "curl/lib" "-I" "curl/include" "-I" "/Users/jianshuzhao/Github/mudskipper/target/release/build/libz-sys-4a0742c61ab93e89/out/include" "-fvisibility=hidden" "-DBUILDING_LIBCURL" "-DCURL_DISABLE_DICT" "-DCURL_DISABLE_GOPHER" "-DCURL_DISABLE_IMAP" "-DCURL_DISABLE_LDAP" "-DCURL_DISABLE_LDAPS" "-DCURL_DISABLE_POP3" "-DCURL_DISABLE_RTSP" "-DCURL_DISABLE_SMB" "-DCURL_DISABLE_SMTP" "-DCURL_DISABLE_TELNET" "-DCURL_DISABLE_TFTP" "-DCURL_STATICLIB" "-DENABLE_IPV6" "-DHAVE_ASSERT_H" "-DOS="unknown"" "-DHAVE_ZLIB_H" "-DHAVE_LONGLONG" "-DHAVE_LIBZ" "-DHAVE_BOOL_T" "-DHAVE_STDBOOL_H" "-DHAVE_GETADDRINFO" "-DHAVE_GETPEERNAME" "-DHAVE_GETSOCKNAME" "-DCURL_DISABLE_NTLM" "-DUSE_SECTRANSP" "-DHAVE_BUILTIN_AVAILABLE=1" "-DRECV_TYPE_ARG1=int" "-DHAVE_PTHREAD_H" "-DHAVE_ARPA_INET_H" "-DHAVE_ERRNO_H" "-DHAVE_FCNTL_H" "-DHAVE_NETDB_H" "-DHAVE_NETINET_IN_H" "-DHAVE_NETINET_TCP_H" "-DHAVE_POLL_H" "-DHAVE_FCNTL_O_NONBLOCK" "-DHAVE_SYS_SELECT_H" "-DHAVE_SYS_STAT_H" "-DHAVE_UNISTD_H" "-DHAVE_RECV" "-DHAVE_SELECT" "-DHAVE_SEND" "-DHAVE_SOCKET" "-DHAVE_STERRROR_R" "-DHAVE_SOCKETPAIR" "-DHAVE_STRUCT_TIMEVAL" "-DHAVE_SYS_UN_H" "-DUSE_THREADS_POSIX" "-DUSE_UNIX_SOCKETS" "-DRECV_TYPE_ARG2=void
" "-DRECV_TYPE_ARG3=size_t" "-DRECV_TYPE_ARG4=int" "-DRECV_TYPE_RETV=ssize_t" "-DSEND_QUAL_ARG2=const" "-DSEND_TYPE_ARG1=int" "-DSEND_TYPE_ARG2=void
" "-DSEND_TYPE_ARG3=size_t" "-DSEND_TYPE_ARG4=int" "-DSEND_TYPE_RETV=ssize_t" "-DSIZEOF_CURL_OFF_T=8" "-DSIZEOF_INT=4" "-DSIZEOF_SHORT=2" "-D__APPLE
" "-Dmacintosh" "-DHAVE_MACH_ABSOLUTE_TIME" "-DSIZEOF_SSIZE_T=8" "-DSIZEOF_SIZE_T=8" "-DSIZEOF_LONG=8" "-o" "/Users/jianshuzhao/Github/mudskipper/target/release/build/curl-sys-fd2b0ac6e5689972/out/build/curl/lib/cookie.o" "-c" "curl/lib/cookie.c"
exit status: 0
exit status: 0
exit status: 0
exit status: 0
exit status: 0
exit status: 0
exit status: 0

--- stderr
fatal: not a git repository (or any of the parent directories): .git

error occurred: Command "cc" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-arch" "arm64" "-I" "curl/lib" "-I" "curl/include" "-I" "/Users/jianshuzhao/Github/mudskipper/target/release/build/libz-sys-4a0742c61ab93e89/out/include" "-fvisibility=hidden" "-DBUILDING_LIBCURL" "-DCURL_DISABLE_DICT" "-DCURL_DISABLE_GOPHER" "-DCURL_DISABLE_IMAP" "-DCURL_DISABLE_LDAP" "-DCURL_DISABLE_LDAPS" "-DCURL_DISABLE_POP3" "-DCURL_DISABLE_RTSP" "-DCURL_DISABLE_SMB" "-DCURL_DISABLE_SMTP" "-DCURL_DISABLE_TELNET" "-DCURL_DISABLE_TFTP" "-DCURL_STATICLIB" "-DENABLE_IPV6" "-DHAVE_ASSERT_H" "-DOS="unknown"" "-DHAVE_ZLIB_H" "-DHAVE_LONGLONG" "-DHAVE_LIBZ" "-DHAVE_BOOL_T" "-DHAVE_STDBOOL_H" "-DHAVE_GETADDRINFO" "-DHAVE_GETPEERNAME" "-DHAVE_GETSOCKNAME" "-DCURL_DISABLE_NTLM" "-DUSE_SECTRANSP" "-DHAVE_BUILTIN_AVAILABLE=1" "-DRECV_TYPE_ARG1=int" "-DHAVE_PTHREAD_H" "-DHAVE_ARPA_INET_H" "-DHAVE_ERRNO_H" "-DHAVE_FCNTL_H" "-DHAVE_NETDB_H" "-DHAVE_NETINET_IN_H" "-DHAVE_NETINET_TCP_H" "-DHAVE_POLL_H" "-DHAVE_FCNTL_O_NONBLOCK" "-DHAVE_SYS_SELECT_H" "-DHAVE_SYS_STAT_H" "-DHAVE_UNISTD_H" "-DHAVE_RECV" "-DHAVE_SELECT" "-DHAVE_SEND" "-DHAVE_SOCKET" "-DHAVE_STERRROR_R" "-DHAVE_SOCKETPAIR" "-DHAVE_STRUCT_TIMEVAL" "-DHAVE_SYS_UN_H" "-DUSE_THREADS_POSIX" "-DUSE_UNIX_SOCKETS" "-DRECV_TYPE_ARG2=void*" "-DRECV_TYPE_ARG3=size_t" "-DRECV_TYPE_ARG4=int" "-DRECV_TYPE_RETV=ssize_t" "-DSEND_QUAL_ARG2=const" "-DSEND_TYPE_ARG1=int" "-DSEND_TYPE_ARG2=void*" "-DSEND_TYPE_ARG3=size_t" "-DSEND_TYPE_ARG4=int" "-DSEND_TYPE_RETV=ssize_t" "-DSIZEOF_CURL_OFF_T=8" "-DSIZEOF_INT=4" "-DSIZEOF_SHORT=2" "-D__APPLE__" "-Dmacintosh" "-DHAVE_MACH_ABSOLUTE_TIME" "-DSIZEOF_SSIZE_T=8" "-DSIZEOF_SIZE_T=8" "-DSIZEOF_LONG=8" "-o" "/Users/jianshuzhao/Github/mudskipper/target/release/build/curl-sys-fd2b0ac6e5689972/out/build/curl/lib/connect.o" "-c" "curl/lib/connect.c" with args "cc" did not execute successfully (status code exit status: 1).

warning: build failed, waiting for other jobs to finish...
error: build failed

Any idea

Thanks,

Jianshu

Wrong pairing of alignments

Again from ERR188079 sample... STAR reports:

HWI-ST758:71:C06LWACXX:1:1101:11011:4002        163     chr22   37225967        255     74M1S   =       37226011        748     CGGGGTGCCATCAGGCTTTGGGTGGGGATCCTGGAGGATCAGACCCATCTAGGTGGGAGCGCTGGGGTGCAACCC     @@CFFADDDFHHFIIIJIIJJJHJIGIJFIIIJJHIJGIJJJIIJJJJHHHHHHFFDBDCDDDDDDD8@BCDDDD     NH:i:1  HI:i:1  AS:i:147        nM:i:0  NM:i:0
HWI-ST758:71:C06LWACXX:1:1101:11011:4002        83      chr22   37226011        255     29M631N44M2S    =       37225967        -748    CCATCTAGGTGGGAGCGCTGGGGTGCAACCCCTAGAGGAGGCTGCAGGCGCGCTTCTGCTGCCGCGTGGGCTGGG     DDDDDDDDDCDDDDDDDDDDDDDDBDB@DDEEECFEFFFHHHGIJIJJIIJFIJJJIJJJJJHHHHHFFFFFC@C     NH:i:1  HI:i:1  AS:i:147        nM:i:0  NM:i:0

while mudskipper reports:

HWI-ST758:71:C06LWACXX:1:1101:11011:4002        99      ENST00000406508.5       662     255     73M2S   =       705     -32     CCATCTAGGTGGGAGCGCTGGGGTGCAACCCCTAGAGGAGGCTGCAGGCGCGCTTCTGCTGCCGCGTGGGCTGGG     DDDDDDDDDCDDDDDDDDDDDDDDBDB@DDEEECFEFFFHHHGIJIJJIIJFIJJJIJJJJJHHHHHFFFFFC@C     NH:i:1  HI:i:1  AS:i:147        nM:i:0  NM:i:0
HWI-ST758:71:C06LWACXX:1:1101:11024:4004        147     ENST00000406508.5       705     255     74M1S   =       662     32      CGGGGTGCCATCAGGCTTTGGGTGGGGATCCTGGAGGATCAGACCCATCTAGGTGGGAGCGCTGGGGTGCAACCC     ?@@D==@BDFBC<?BBDG?DHHIG:@@G@?DDHJGGIDFGIGIEIIHHFHHHG=CBDACBDDDDDDD8@DDDCDD     NH:i:1  HI:i:1  AS:i:149        nM:i:0  NM:i:0
HWI-ST758:71:C06LWACXX:1:1101:11011:4002        99      ENST00000249071.11      659     255     73M2S   =       702     -32     CCATCTAGGTGGGAGCGCTGGGGTGCAACCCCTAGAGGAGGCTGCAGGCGCGCTTCTGCTGCCGCGTGGGCTGGG     DDDDDDDDDCDDDDDDDDDDDDDDBDB@DDEEECFEFFFHHHGIJIJJIIJFIJJJIJJJJJHHHHHFFFFFC@C     NH:i:1  HI:i:1  AS:i:147        nM:i:0  NM:i:0
HWI-ST758:71:C06LWACXX:1:1101:11024:4004        147     ENST00000249071.11      702     255     74M1S   =       659     32      CGGGGTGCCATCAGGCTTTGGGTGGGGATCCTGGAGGATCAGACCCATCTAGGTGGGAGCGCTGGGGTGCAACCC     ?@@D==@BDFBC<?BBDG?DHHIG:@@G@?DDHJGGIDFGIGIEIIHHFHHHG=CBDACBDDDDDDD8@DDDCDD     NH:i:1  HI:i:1  AS:i:149        nM:i:0  NM:i:0
HWI-ST758:71:C06LWACXX:1:1101:11011:4002        99      ENST00000481215.1       363     255     73M2S   =       406     -32     CCATCTAGGTGGGAGCGCTGGGGTGCAACCCCTAGAGGAGGCTGCAGGCGCGCTTCTGCTGCCGCGTGGGCTGGG     DDDDDDDDDCDDDDDDDDDDDDDDBDB@DDEEECFEFFFHHHGIJIJJIIJFIJJJIJJJJJHHHHHFFFFFC@C     NH:i:1  HI:i:1  AS:i:147        nM:i:0  NM:i:0
HWI-ST758:71:C06LWACXX:1:1101:11024:4004        147     ENST00000481215.1       406     255     74M1S   =       363     32      CGGGGTGCCATCAGGCTTTGGGTGGGGATCCTGGAGGATCAGACCCATCTAGGTGGGAGCGCTGGGGTGCAACCC     ?@@D==@BDFBC<?BBDG?DHHIG:@@G@?DDHJGGIDFGIGIEIIHHFHHHG=CBDACBDDDDDDD8@DDDCDD     NH:i:1  HI:i:1  AS:i:149        nM:i:0  NM:i:0

Salmon correctly throws warning:

WARNING: Detected suspicious pair ---
        The names are different:
        read1 : HWI-ST758:71:C06LWACXX:1:1101:11011:4002
        read2 : HWI-ST758:71:C06LWACXX:1:1101:11024:4004

Differences in quantification when using transcriptome BAM from Muskipper or STAR

Hi, I would like to report some differences in the quantification produced by Salmon when doing pseudoalignment, when using transcriptomic BAM produced by STAR and when using the transcriptomic BAM produced by Mudskipper.

Pearson correlation of log2(raw counts)

salmon_mudskipper salmon_star salmon quant
salmon_mudskipper 1.000000 0.611192 0.578433
salmon_star 0.611192 1.000000 0.942535
salmon quant 0.578433 0.942535 1.000000

The results when using the transcriptomic BAM produced by STAR seems much more similar to the results when using the transcriptomic BAM from Mudskipper

Following is the command lines and software version.

STAR=v2.7.8a
mudskipper=commit 3717465
salmon=1.9.0

STAR  --runThreadN 10 --genomeDir /ensembl/hs104/ --readFilesIn SRR3670977.fastq --outSAMtype BAM Unsorted --genomeLoad NoSharedMemory --limitOutSJcollapsed 5000000 --outSAMunmapped Within --quantMode TranscriptomeSAM GeneCounts 

mudskipper bulk --gtf Homo_sapiens.GRCh38.104.primary_assembly.gtf --alignment Aligned.out.bam --out Aligned.mudskipperout.bam

salmon quant --libType A --alignments Aligned.mudskipperout.bam --targets Homo_sapiens.GRCh38.cdna.all.104.fa.gz --output salmon_mudskipper --threads 10

salmon quant --libType A --alignments Aligned.toTranscriptome.out.bam --targets Homo_sapiens.GRCh38.cdna.all.104.fa.gz --output salmon_star --threads 10

salmon quant --libType A --threads 10 --index Homo_sapiens.GRCh38.cdna.all.104.salmon_index --output salmon_quant -r SRR3670977.fastq

I wanted to know if you have some hints of what could happening here.

Negative coordinate in output BAM

I have seen a case where the output BAM record has negative coordinate! Sample input BAM file is attached. For this test case, Mudskipper should be run using the following GTF.

http://ftp.ebi.ac.uk/pub/databases/gencode/Gencode_human/release_35/gencode.v35.annotation.gtf.gz

sample bam file

cargo build --release!

cargo build --release running for Mudskipper installation get me the error, Your help to fix it is so appreciated!

error[E0308]: mismatched types
--> src/annotation.rs:198:25
|
198 | strand: exon_strand,
| ^^^^^^^^^^^ expected enum Strand, found enum bio_types::strand::Strand
|
= note: perhaps two different versions of crate bio_types are being used?

For more information about this error, try rustc --explain E0308.
error: could not compile mudskipper due to previous error

Build a unmapped barcode frequency table

For some advanced features of alevin-fry, it needs a map that contains the number of unmapped reads for each barcode. Since that map is not required for performing quantification using alevin-fry for now, mudskipper creates an empty map. This should be modified with the proper content.

Disagreement with the annotation when there is a spliced alignment

The code doesn't properly check the splicing when converting alignments.
For example in an alignment with CIGAR 9M477N41M86N25M, the middle matched segment should extend to the boundaries of the exon on both sides.
That means some spurious alignments might be reported due to this bug.

'main' panicked at 'index out of bounds: the len is 1 but the index is 1'

Built the index first using gencode v40

mudskipper index --gtf /SAN/vyplab/vyplab_reference_genomes/annotation/human/GRCh38/gencode.v40.annotation.gtf --dir-index /SAN/vyplab/vyplab_reference_genomes/mudskipper_indices/human.gencode.v40

And then tried to convert with

mudskipper bulk --index /SAN/vyplab/vyplab_reference_genomes/mudskipper_indices/human.gencode.v40/ --alignment my.sorted.bam --out my.mud.bam --threads 4

However this freaks out immediately with:


[2022-05-02T12:43:07Z INFO  mudskipper] Mudskipper started...
[2022-05-02T12:43:07Z INFO  mudskipper::annotation] Loading parsed GTF...
[2022-05-02T12:43:08Z INFO  mudskipper::bam] Number of reference sequences: 246624
[2022-05-02T12:43:09Z INFO  mudskipper::bam] thread count: 4 in total
[2022-05-02T12:43:09Z INFO  mudskipper::bam] thread count: 2 for reading
[2022-05-02T12:43:09Z INFO  mudskipper::bam] thread count: 2 for writing
thread 'main' panicked at 'index out of bounds: the len is 1 but the index is 1', src/query_bam_records.rs:165:33
stack backtrace:
   0:     0x5599e7546c2d - std::backtrace_rs::backtrace::libunwind::trace::hee598835bc88d35b
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x5599e7546c2d - std::backtrace_rs::backtrace::trace_unsynchronized::h9cdc730ba5cf5d72
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x5599e7546c2d - std::sys_common::backtrace::_print_fmt::h75aeaf7ed30e43fa
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/sys_common/backtrace.rs:66:5
   3:     0x5599e7546c2d - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h606862f787600875
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/sys_common/backtrace.rs:45:22
   4:     0x5599e7569a9c - core::fmt::write::he803f0f418caf762
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/core/src/fmt/mod.rs:1190:17
   5:     0x5599e7542fc8 - std::io::Write::write_fmt::h70bc45872f37e7bb
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/io/mod.rs:1657:15
   6:     0x5599e7548cd7 - std::sys_common::backtrace::_print::h64d038cf8ac3e13e
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/sys_common/backtrace.rs:48:5
   7:     0x5599e7548cd7 - std::sys_common::backtrace::print::h359300b4a7fccf65
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/sys_common/backtrace.rs:35:9
   8:     0x5599e7548cd7 - std::panicking::default_hook::{{closure}}::hf51be35e2f510149
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/panicking.rs:295:22
   9:     0x5599e75489a0 - std::panicking::default_hook::h03ca0f22e1d2d25e
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/panicking.rs:314:9
  10:     0x5599e7549429 - std::panicking::rust_panic_with_hook::h3b7380e99b825b63
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/panicking.rs:698:17
  11:     0x5599e7549117 - std::panicking::begin_panic_handler::{{closure}}::h8e849d0710154ce0
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/panicking.rs:588:13
  12:     0x5599e75470f4 - std::sys_common::backtrace::__rust_end_short_backtrace::hedcdaddbd4c46cc5
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/sys_common/backtrace.rs:138:18
  13:     0x5599e7548e29 - rust_begin_unwind
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/panicking.rs:584:5
  14:     0x5599e737dcb3 - core::panicking::panic_fmt::he1bbc7336d49a357
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/core/src/panicking.rs:143:14
  15:     0x5599e737dbf2 - core::panicking::panic_bounds_check::h7777e18766a27b0b
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/core/src/panicking.rs:85:5
  16:     0x5599e73a4d1f - mudskipper::query_bam_records::BAMQueryRecordReader::group_records::h3e557bbfbf98c5b3
  17:     0x5599e73a55cd - mudskipper::query_bam_records::BAMQueryRecordReader::get_next_query_records::hd44f4b13b6418ce6
  18:     0x5599e73946dd - mudskipper::bam::bam2bam::h107271027deeb930
  19:     0x5599e739069c - mudskipper::main::hd9af9ad03c0768b5
  20:     0x5599e7393d23 - std::sys_common::backtrace::__rust_begin_short_backtrace::h6d04830762f92fce
  21:     0x5599e73a6249 - std::rt::lang_start::{{closure}}::h3a11e2c99d3705be
  22:     0x5599e7546311 - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::hb7014f43484a8b4e
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/core/src/ops/function.rs:259:13
  23:     0x5599e7546311 - std::panicking::try::do_call::h7bc9dc436daeb8c7
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/panicking.rs:492:40
  24:     0x5599e7546311 - std::panicking::try::h653d68a27ff5f175
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/panicking.rs:456:19
  25:     0x5599e7546311 - std::panic::catch_unwind::h9d739f9f59895e68
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/panic.rs:137:14
  26:     0x5599e7546311 - std::rt::lang_start_internal::{{closure}}::hf006f2bc7ce22bbe
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/rt.rs:128:48
  27:     0x5599e7546311 - std::panicking::try::do_call::hfb39d6df61a2e69f
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/panicking.rs:492:40
  28:     0x5599e7546311 - std::panicking::try::h13e2d225134958ac
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/panicking.rs:456:19
  29:     0x5599e7546311 - std::panic::catch_unwind::h3bd49b5a5dfb1a50
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/panic.rs:137:14
  30:     0x5599e7546311 - std::rt::lang_start_internal::h2ba92edce36c035e
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/rt.rs:128:20
  31:     0x5599e7391632 - main
  32:     0x2b9c394ed555 - __libc_start_main
  33:     0x5599e737e4e9 - <unknown>
  34:                0x0 - <unknown>

I get the same error on a few other BAMs I've tried as well

And the same error persist if I do this

mudskipper bulk --gtf /SAN/vyplab/vyplab_reference_genomes/annotation/human/GRCh38/gencode.v40.annotation.gtf --alignment my.sorted.bam --out my.mud.bam --threads 4

Dropping some alignments against overlapping transcripts

In sample ERR188079, I have seen a case where some overlapping transcripts are dropped from the output of mudskipper. Also there is some non-deterministic behavior of mudskipper in this case.

More specifically, read HWI-ST758:71:C06LWACXX:1:1101:4517:28047 is aligned to ENST00000376420.9 and ENST00000444096.5 transcripts in one run, while aligned to ENST00000462857.5 and ENST00000495946.5 in another run. These alternative transcripts are overlapping.

The point is that if alignment to any of these is valid, we should always get all of those alignments.

assertion failure: last>=first

I am attempting to do a bulk RNA-Seq genome alignment conversion to transcriptome coordinates and keep encountering this error:

thread 'main' panicked at 'assertion failed: last >= first', /home/lkmack/.cargo/registry/src/github.com-1ecc6299db9ec823/coitrees-0.2.1/src/lib.rs:196:9
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace

I'm having a hard time figuring out if this is indicating an issue in my bam files or in my gtf file.

So far, I have checked the gtf file to ensure the start and stop coordinates are correct which they are. I have also run a second samtools sort attempt on my bam files in case this was the issue with no luck. Any pointers are appreciated.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.