This file is indexed.

/usr/include/ngs/adapter/AlignmentItf.hpp is in libngs-sdk-dev 1.3.0-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
/*===========================================================================
*
*                            PUBLIC DOMAIN NOTICE
*               National Center for Biotechnology Information
*
*  This software/database is a "United States Government Work" under the
*  terms of the United States Copyright Act.  It was written as part of
*  the author's official duties as a United States Government employee and
*  thus cannot be copyrighted.  This software/database is freely available
*  to the public for use. The National Library of Medicine and the U.S.
*  Government have not placed any restriction on its use or reproduction.
*
*  Although all reasonable efforts have been taken to ensure the accuracy
*  and reliability of the software and data, the NLM and the U.S.
*  Government do not and cannot warrant the performance or results that
*  may be obtained by using this software or data. The NLM and the U.S.
*  Government disclaim all warranties, express or implied, including
*  warranties of performance, merchantability or fitness for any particular
*  purpose.
*
*  Please cite the author in any work or product based on this material.
*
* ===========================================================================
*
*/

#ifndef _hpp_ngs_adapt_alignment_
#define _hpp_ngs_adapt_alignment_

#ifndef _hpp_ngs_adapt_fragmentitf
#include <ngs/adapter/FragmentItf.hpp>
#endif

#ifndef _h_ngs_itf_alignment_
#include <ngs/itf/AlignmentItf.h>
#endif

namespace ngs_adapt
{

    /*----------------------------------------------------------------------
     * forwards
     */
    class StringItf;

    /*----------------------------------------------------------------------
     * AlignmentItf
     */
    class AlignmentItf : public FragmentItf
    {
    public:

        virtual StringItf * getAlignmentId () const = 0;
        virtual StringItf * getReferenceSpec () const = 0;
        virtual int32_t getMappingQuality () const = 0;
        virtual StringItf * getReferenceBases () const = 0;
        virtual StringItf * getReadGroup () const = 0;
        virtual StringItf * getReadId () const = 0;
        virtual StringItf * getClippedFragmentBases () const = 0;
        virtual StringItf * getClippedFragmentQualities () const = 0;
        virtual StringItf * getAlignedFragmentBases () const = 0;
        virtual bool isPrimary () const = 0;
        virtual int64_t getAlignmentPosition () const = 0;
        virtual uint64_t getReferencePositionProjectionRange ( int64_t ref_pos ) const = 0;
        virtual uint64_t getAlignmentLength () const = 0;
        virtual bool getIsReversedOrientation () const = 0;
        virtual int32_t getSoftClip ( uint32_t edge ) const = 0;
        virtual uint64_t getTemplateLength () const = 0;
        virtual StringItf * getShortCigar ( bool clipped ) const = 0;
        virtual StringItf * getLongCigar ( bool clipped ) const = 0;
        virtual char getRNAOrientation () const = 0;
        virtual bool hasMate () const = 0;
        virtual StringItf * getMateAlignmentId () const = 0;
        virtual AlignmentItf * getMateAlignment () const = 0;
        virtual StringItf * getMateReferenceSpec () const = 0;
        virtual bool getMateIsReversedOrientation () const = 0;
        virtual bool nextAlignment () = 0;

        inline NGS_Alignment_v1 * Cast ()
        { return static_cast < NGS_Alignment_v1* > ( OpaqueRefcount :: offset_this () ); }

        inline const NGS_Alignment_v1 * Cast () const
        { return static_cast < const NGS_Alignment_v1* > ( OpaqueRefcount :: offset_this () ); }

        // assistance for C objects
        static inline AlignmentItf * Self ( NGS_Alignment_v1 * obj )
        { return static_cast < AlignmentItf* > ( OpaqueRefcount :: offset_cobj ( obj ) ); }

        static inline const AlignmentItf * Self ( const NGS_Alignment_v1 * obj )
        { return static_cast < const AlignmentItf* > ( OpaqueRefcount :: offset_cobj ( obj ) ); }

    protected:

        AlignmentItf ();
        static NGS_Alignment_v1_vt ivt;

    private:

        // throws ErrorMsg because it's not applicable here
        virtual bool nextFragment ();

        static NGS_String_v1 * CC get_id ( const NGS_Alignment_v1 * self, NGS_ErrBlock_v1 * err );
        static NGS_String_v1 * CC get_ref_spec ( const NGS_Alignment_v1 * self, NGS_ErrBlock_v1 * err );
        static int32_t CC get_map_qual ( const NGS_Alignment_v1 * self, NGS_ErrBlock_v1 * err );
        static NGS_String_v1 * CC get_ref_bases ( const NGS_Alignment_v1 * self, NGS_ErrBlock_v1 * err );
        static NGS_String_v1 * CC get_read_group ( const NGS_Alignment_v1 * self, NGS_ErrBlock_v1 * err );
        static NGS_String_v1 * CC get_read_id ( const NGS_Alignment_v1 * self, NGS_ErrBlock_v1 * err );
        static NGS_String_v1 * CC get_clipped_frag_bases ( const NGS_Alignment_v1 * self, NGS_ErrBlock_v1 * err );
        static NGS_String_v1 * CC get_clipped_frag_quals ( const NGS_Alignment_v1 * self, NGS_ErrBlock_v1 * err );
        static NGS_String_v1 * CC get_aligned_frag_bases ( const NGS_Alignment_v1 * self, NGS_ErrBlock_v1 * err );
        static bool CC is_primary ( const NGS_Alignment_v1 * self, NGS_ErrBlock_v1 * err );
        static int64_t CC get_align_pos ( const NGS_Alignment_v1 * self, NGS_ErrBlock_v1 * err );
        static uint64_t CC get_ref_pos_projection_range ( const NGS_Alignment_v1 * self, NGS_ErrBlock_v1 * err, int64_t ref_pos );
        static uint64_t CC get_align_length ( const NGS_Alignment_v1 * self, NGS_ErrBlock_v1 * err );
        static bool CC get_is_reversed ( const NGS_Alignment_v1 * self, NGS_ErrBlock_v1 * err );
        static int32_t CC get_soft_clip ( const NGS_Alignment_v1 * self, NGS_ErrBlock_v1 * err, uint32_t edge );
        static uint64_t CC get_template_len ( const NGS_Alignment_v1 * self, NGS_ErrBlock_v1 * err );
        static NGS_String_v1 * CC get_short_cigar ( const NGS_Alignment_v1 * self, NGS_ErrBlock_v1 * err, bool clipped );
        static NGS_String_v1 * CC get_long_cigar ( const NGS_Alignment_v1 * self, NGS_ErrBlock_v1 * err, bool clipped );
        static char CC get_rna_orientation ( const NGS_Alignment_v1 * self, NGS_ErrBlock_v1 * err );
        static bool CC has_mate ( const NGS_Alignment_v1 * self, NGS_ErrBlock_v1 * err );
        static NGS_String_v1 * CC get_mate_id ( const NGS_Alignment_v1 * self, NGS_ErrBlock_v1 * err );
        static NGS_Alignment_v1 * CC get_mate_alignment ( const NGS_Alignment_v1 * self, NGS_ErrBlock_v1 * err );
        static NGS_String_v1 * CC get_mate_ref_spec ( const NGS_Alignment_v1 * self, NGS_ErrBlock_v1 * err );
        static bool CC get_mate_is_reversed ( const NGS_Alignment_v1 * self, NGS_ErrBlock_v1 * err );
        static bool CC next ( NGS_Alignment_v1 * self, NGS_ErrBlock_v1 * err );

    };

} // namespace ngs_adapt

#endif // _hpp_ngs_adapt_alignment_