StartAlignment(
void);
70 virtual voidAddRow(
const string& cigar);
78fRead_Default = 0x0000,
79fRead_Reverse = 0x0010
84 stringx_GetRefIdString(
void)
const;
85 stringx_GetTargetIdString(
void)
const;
114 id.GetSeqIdString(
true) :
id.AsFastaString();
135 if( !scope)
return;
154 if(seg_type !=
'M') {
198 stringclip_front, clip_back;
208 stringseq_data =
"*";
250 if(!(*score)->IsSetId() || !(*score)->GetId().IsStr())
continue;
251 const string&
id= (*score)->GetId().GetStr();
253 if(AS.empty() &&
id==
"score") {
258 if(EV.empty() &&
id==
"e_value") {
263 if(BS.empty() &&
id==
"bit_score") {
268 if(
PI.empty() &&
id==
"num_ident") {
273 pi=
min(99.99, 100.0 * ((
double)ni)/((
double)
len));
290clip_front + cigar + clip_back +
"\t"+
296AS + EV + NM +
PI+ BS
342disc.
SetSegs().SetDisc().Assign(aln_set);
343 Print(disc, query_id);
353disc.
SetSegs().SetDisc().Assign(aln_set);
354 Print(disc, query_row);
363*
m_Out<<
"\tSO:unsorted";
366*
m_Out<<
"\tSO:queryname";
369*
m_Out<<
"\tSO:coordinate";
386*
m_Out<<
"\tGO:none";
389*
m_Out<<
"\tGO:query";
392*
m_Out<<
"\tGO:reference";
407 if( !
m_Out)
return;
411*
m_Out<<
"@HD\tVN:1.2";
417*
m_Out<< it->second <<
'\n';
438*
m_Out<< *it <<
'\n';
449 if(it->first ==
id)
return;
static CRef< CScope > m_Scope
User-defined methods of the data storage class.
Base class for CIGAR formatters.
The base class for alignment formatters which use CIGAR format.
virtual void AddRow(const string &cigar)
set< CBioseq_Handle > m_KnownRefSeqs
virtual ~CSAM_CIGAR_Formatter(void)
string x_GetSeqIdString(const CSeq_id &id, TFlags flags) const
virtual void AdjustSeqIdType(CConstRef< CSeq_id > &id)
virtual void AddSegment(CNcbiOstream &cigar, char seg_type, TSeqPos seg_len)
CSAM_Formatter::CSAM_Headers THeaders
CSAM_Formatter::TLines TLines
virtual void StartRow(void)
string x_GetTargetIdString(void) const
CSAM_CIGAR_Formatter(THeaders &headers, TLines &body, const CSeq_align &aln, CScope &scope, TFlags flags)
string x_GetRefIdString(void) const
CSAM_Formatter::TFlags TFlags
virtual void StartAlignment(void)
TSeqPos GetAlignLength(bool include_gaps=true) const
Get the length of this alignment.
iterator_bool insert(const value_type &val)
const_iterator find(const key_type &key) const
const_iterator end() const
std::ofstream out("events_result.xml")
main entry point for tests
unsigned int TSeqPos
Type for sequence locations and lengths.
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
string m_Id
ID - program id.
CScope * GetScope(void) const
CSAM_Formatter(CNcbiOstream &out, CScope &scope, TFlags flags=fSAM_Default)
string m_CmdLine
CL - command line.
const TRange & GetTargetRange(void) const
list< pair< CSeq_id_Handle, string > > TData
void x_PrintGOTag(void) const
string m_Name
PN - program name.
int TFlags
bitwise OR of EFlags
int GetTargetSign(void) const
const TRange & GetRefRange(void) const
int GetRefSign(void) const
const CSeq_align & GetCurrentSeq_align(void) const
void x_PrintSOTag(void) const
void AddSequence(CSeq_id_Handle id, const string &line)
void FormatByTargetId(const CSeq_id &target_id)
const CSeq_id & GetRefId(void) const
string m_Version
VN - version.
CSAM_Formatter & Print(const CSeq_align &aln, const CSeq_id &query_id)
virtual void AddSegment(ostream &cigar, char seg_type, TSeqPos seg_len)
string m_Desc
DS - description.
void FormatByTargetRow(TNumrow target_row)
SProgramInfo m_ProgramInfo
const CSeq_id & GetTargetId(void) const
@ eSO_Unsorted
SO:unsorted.
@ eSO_QueryName
SO:queryname.
@ eSO_Coordinate
SO:coordinate.
@ eSO_User
User-provided string.
@ eGO_Reference
GO:reference.
@ eGO_User
User-provided string.
@ eGO_Query
GO:query (default)
@ fSAM_NumNucDiff
Generate NM tags.
@ fSAM_PercentageIdentity
Generate PI tags.
@ fSAM_SeqData
Print sequence data.
@ fSAM_ExpectationValue
Generate EV tags.
@ fSAM_AlignmentScore
Generate AS tags.
@ fSAM_ForceGISeqIds
Force using GI ids.
@ fSAM_PlainSeqIds
Drop type prefix in seq-ids.
@ fSAM_BitScore
Generate BS tags.
CConstRef< CSeq_id > GetSeqId(void) const
static CSeq_id_Handle GetHandle(const CSeq_id &id)
Normal way of getting a handle, works for any seq-id.
const CSeq_id & GetId(const CSeq_loc &loc, CScope *scope)
If all CSeq_ids embedded in CSeq_loc refer to the same CBioseq, returns the first CSeq_id found,...
@ eGetId_ForceAcc
return only an accession based seq-id
@ eGetId_ForceGi
return only a gi-based seq-id
CBioseq_Handle GetBioseqHandle(const CSeq_id &id)
Get bioseq handle by seq-id.
TSeqPos GetBioseqLength(void) const
CSeqVector GetSeqVector(EVectorCoding coding, ENa_strand strand=eNa_strand_plus) const
Get sequence: Iupacna or Iupacaa if use_iupac_coding is true.
@ eCoding_Iupac
Set coding to printable coding (Iupacna or Iupacaa)
void GetSeqData(TSeqPos start, TSeqPos stop, string &buffer) const
Fill the buffer string with the sequence data for the interval [start, stop).
position_type GetLength(void) const
position_type GetToOpen(void) const
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define END_SCOPE(ns)
End the previously defined scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define BEGIN_SCOPE(ns)
Define a new scope.
IO_PREFIX::ostream CNcbiOstream
Portable alias for ostream.
static string DoubleToString(double value, int precision=-1, TNumToStringFlags flags=0)
Convert double to string.
static string IntToString(int value, TNumToStringFlags flags=0, int base=10)
Convert int to string.
static string UIntToString(unsigned int value, TNumToStringFlags flags=0, int base=10)
Convert UInt to string.
static string UInt8ToString(Uint8 value, TNumToStringFlags flags=0, int base=10)
Convert UInt8 to string.
TFrom GetFrom(void) const
Get the From member data.
vector< CRef< CScore > > TScore
void SetSegs(TSegs &value)
Assign a value to Segs data member.
void SetType(TType value)
Assign a value to Type data member.
TInt GetInt(void) const
Get the variant data.
bool IsInt(void) const
Check if variant Int is selected.
const TValue & GetValue(void) const
Get the Value member data.
bool IsSetScore(void) const
for whole alignment Check if a value has been assigned to Score data member.
const TScore & GetScore(void) const
Get the Score member data.
TReal GetReal(void) const
Get the variant data.
@ eType_disc
discontinuous alignment
unsigned int
A callback function used to compare two keys in a database.
double value_type
The numeric datatype used by the parser.
static double GetFloatScore(const CScore &score)
static int GetIntScore(const CScore &score)
Flat formatter for Sequence Alignment/Map (SAM).
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4