blast::CLocalDbAdapter& db_adapter,
75 const char*matrix_name
,
80 booluse_sum_statistics
,
81 boolis_remote_search
,
82 intdbfilt_algorithm
,
83 const string& custom_output_format
,
86 constblast::CIgBlastOptions *ig_opts
,
87 constblast::CLocalDbAdapter* domain_db_adapter
,
88 const string& cmdline
,
89 const string& subjectTag
)
90: m_FormatType(format_type), m_IsHTML(is_html),
91m_DbIsAA(db_adapter.IsProtein()), m_BelieveQuery(believe_query),
92m_Outfile(
outfile), m_NumSummary(num_summary),
93m_NumAlignments(num_alignments), m_HitlistSize(options.GetHitlistSize()),
96m_QueryGenCode(qgencode), m_DbGenCode(dbgencode),
97m_ShowGi(show_gi), m_ShowLinkedSetSize(
false),
98m_IsUngappedSearch(!options.GetGappedMode()),
99m_MatrixName(matrix_name),
103m_SubjectTag(subjectTag),
104m_IsRemoteSearch(is_remote_search),
105m_QueriesFormatted(0),
106m_Megablast(is_megablast),
107m_IndexedMegablast(is_indexed),
108m_CustomOutputFormatSpec(custom_output_format),
109m_IgOptions(ig_opts),
112m_IsIterative(
false),
116m_OrigExceptionMask(
outfile.exceptions()),
120 m_DbName= db_adapter.GetDatabaseName();
132 if(!is_remote_search)
141 intfilteringAlgorithmId = db_adapter.GetFilteringAlgorithm();
142 if(filteringAlgorithmId == -1) {
144 if(db_Info && db_Info.
NotEmpty()) {
153dbfilt_algorithm, is_remote_search);
169options.GetMatchReward() == 0 &&
170options.GetMismatchPenalty() == 0 )
189 if(domain_db_adapter) {
191domain_db_adapter->GetDatabaseName(),
192 true, -1, is_remote_search);
211 constvector< CBlastFormatUtil::SDbInfo >& dbinfo_list,
219 boolis_remote_search,
220 const string& custom_output_format,
222 const string& cmdline)
223: m_FormatType(format_type),
226m_BelieveQuery(believe_query),
228m_NumSummary(num_summary),
229m_NumAlignments(num_alignments),
230m_HitlistSize(opts.GetHitlistSize()),
233m_QueryGenCode(opts.GetQueryGeneticCode()),
234m_DbGenCode(opts.GetDbGeneticCode()),
236m_ShowLinkedSetSize(
false),
237m_IsUngappedSearch(!opts.GetGappedMode()),
238m_MatrixName(opts.GetMatrixName()),
241m_IsDbScan (
false),
242m_IsRemoteSearch(is_remote_search),
243m_QueriesFormatted(0),
244m_Megablast(opts.GetProgram() ==
eMegablast||
246m_IndexedMegablast(opts.GetMBIndexLoaded()),
247m_CustomOutputFormatSpec(custom_output_format),
250m_IsIterative(
false),
254m_OrigExceptionMask(
outfile.exceptions()),
258 m_DbInfo.assign(dbinfo_list.begin(), dbinfo_list.end());
259vector< CBlastFormatUtil::SDbInfo >::const_iterator itInfo;
285opts.GetMatchReward() == 0 &&
286opts.GetMismatchPenalty() == 0 )
328 "<HEAD><TITLE>BLAST Search Results</TITLE></HEAD>\n" 329 "<BODY BGCOLOR=\"#FFFFFF\" LINK=\"#0000FF\" VLINK=\"#660099\" ALINK=\"#660099\">\n" 382 m_Outfile<<
"Reference: Robert M. Hubley, Arian Smit\n";
383 m_Outfile<<
"RMBlast - RepeatMasker Search Engine\n";
384 m_Outfile<<
"2010 <http://www.repeatmasker.org>";
431 m_Outfile<<
"\n\n"<<
"Conserved Domain ";
453? summary.GetPsiUngappedKarlinBlk()
454: summary.GetUngappedKarlinBlk();
458CBlastFormatUtil::PrintKAParameters(kbp_ungap->
Lambda,
459kbp_ungap->
K, kbp_ungap->
H,
466? summary.GetPsiGappedKarlinBlk()
467: summary.GetGappedKarlinBlk();
470CBlastFormatUtil::PrintKAParameters(kbp_gap->
Lambda,
471kbp_gap->
K, kbp_gap->
H,
477 m_Outfile<<
"Effective search space used: "<<
478summary.GetSearchSpace() <<
"\n";
487 boolretval =
false;
499 intskip_from,
intskip_to,
intindex,
500 intnum_descriptions_to_show
)
513 if(num_descriptions_to_show == 0)
533blast::CPsiBlastIterationState::TSeqIds& prev_seqids)
536 _ASSERT( !prev_seqids.empty() );
541 unsigned int count= 0;
545 if(prev_seqids.find(subj_id) != prev_seqids.end()) {
547repeated_seqs.
Set().push_back(*alignment);
550new_seqs.
Set().push_back(*alignment);
561 boolkIsGlobal = (seqalign_set->IsSet() && seqalign_set->CanGet() &&
562seqalign_set->Get().front()->CanGetType() &&
571 unsigned intitr_num,
572blast::CPsiBlastIterationState::TSeqIds& prev_seqids,
579!prev_seqids.empty()) {
588repeated_seqs.
Size());
619 boolhtml,
boolshowgi,
boolisbl2seq,
booldisableKAStats)
650 if(program ==
"tblastx") {
668 const string& db_title)
const 682db_title =
m_DbInfo.front().definition;
691 if(
results.HasAlignments()) {
701 if(
results.HasAlignments()) {
715 if(query_id->
Match(*(*itr)->GetQueryId())) {
721objects::CBlastOutput xml_output;
751 if(
results.HasAlignments()) {
760 unsigned intitr_num)
791 if(ncbi::NStr::ToLower(
m_Program) ==
string(
"blastn"))
795 stringstrProgVersion =
811 if(
results.HasAlignments()) {
813CBlastFormatUtil::PruneSeqalign(*aln_set, copy_aln_set,
m_HitlistSize);
820ncbi::NStr::ToLower(
m_Program) ==
string(
"blastn"))
851clone_info.
seqid= seqid.substr(0, 45);
857 constvector<CIgBlastTabularInfo::SIgDomain*>& domains = tabinfo.
GetIgDomains();
860 for(
unsigned int i=0;
i<domains.size(); ++
i) {
861 if(domains[
i]->length > 0) {
862length += domains[
i]->length;
863num_match += domains[
i]->num_match;
867clone_info.
identity= ((double)num_match)/length;
906 boolfill_clone_info)
930 stringstrProgVersion =
937 if(
results.HasAlignments()) {
939CSeq_align_set::Tdata::const_iterator itr = aln_set->
Get().begin();
945 if(fill_clone_info) {
953aln_set, subject_bioseq);
956 for(; itr != aln_set->
Get().end(); ++itr) {
972 m_Outfile<<
"\n</pre></body></html>\n";
979 boolfill_clone_info,
980 boolprint_airr_format_header)
996 stringstrProgVersion =
1001 if(
results.HasAlignments()) {
1002annots =
results.GetIgAnnotation();
1004 if(fill_clone_info) {
1019print_airr_format_header,
1032 static Uint4subj_index = 0;
1034list< CRef<CSeq_id> > ids =
m_SeqInfoSrc->GetId(subj_index++);
1053 if(archive.
Empty()) {
1057 if(outfmt.empty()) {
1068blast::CBlastOptionsHandle& options_handle,
1070 unsigned intnum_iters,
1082seq_loc->SetWhole(*
id);
1084query_vector->AddQuery(search_query);
1093 if(num_iters != 0) {
1107 for(
unsigned int i=0;
i<
m_DbInfo.size();
i++) {
1114 if(
msg.size() > 0) {
1115archive->SetMessages() =
msg;
1122blast::CBlastOptionsHandle& options_handle,
1124 unsigned intnum_iters,
1129 if(
msg.size() > 0) {
1130archive->SetMessages() =
msg;
1139 intdelineFormatOption = 0;
1147deflines.
SetOption(delineFormatOption);
1155vector <CShowBlastDefline::SDeflineFormattingInfo *> sdlFortInfoVec = deflines.
GetFormattingInfo();
1160 for(
size_t i= 0;
i< sdlFortInfoVec.size();
i++) {
1163obj.
insert(
"dfln_url",sdlFortInfoVec[
i]->dfln_url);
1164obj.
insert(
"dfln_rid",sdlFortInfoVec[
i]->dfln_rid);
1165obj.
insert(
"dfln_gi",sdlFortInfoVec[
i]->dfln_gi);
1166obj.
insert(
"dfln_seqid",sdlFortInfoVec[
i]->dfln_seqid);
1167obj.
insert(
"full_dfln_defline",sdlFortInfoVec[
i]->full_dfln_defline);
1168obj.
insert(
"dfln_defline",sdlFortInfoVec[
i]->dfln_defline);
1169obj.
insert(
"dfln_id",sdlFortInfoVec[
i]->dfln_id);
1170obj.
insert(
"dflnFrm_id",sdlFortInfoVec[
i]->dflnFrm_id);
1171obj.
insert(
"dflnFASTA_id",sdlFortInfoVec[
i]->dflnFASTA_id);
1172obj.
insert(
"dflnAccs",sdlFortInfoVec[
i]->dflnAccs);
1174obj.
insert(
"score_info",sdlFortInfoVec[
i]->score_info);
1175obj.
insert(
"dfln_hspnum",sdlFortInfoVec[
i]->dfln_hspnum);
1176obj.
insert(
"dfln_alnLen",sdlFortInfoVec[
i]->dfln_alnLen);
1177obj.
insert(
"dfln_blast_rank",sdlFortInfoVec[
i]->dfln_blast_rank);
1178obj.
insert(
"total_bit_string",sdlFortInfoVec[
i]->total_bit_string);
1179obj.
insert(
"percent_coverage",sdlFortInfoVec[
i]->percent_coverage);
1180obj.
insert(
"evalue_string",sdlFortInfoVec[
i]->evalue_string);
1181obj.
insert(
"percent_identity",sdlFortInfoVec[
i]->percent_identity);
1192 intdelineFormatOption = 0;
1200deflines.
SetOption(delineFormatOption);
1214 results.GetMaskedQueryRegions(masklocs);
1217CBlastFormatUtil::PruneSeqalign(*aln_set, copy_aln_set,
m_NumAlignments);
1256 stringblastAlignParamsTemplData = reg.
Get(
"Templates",
"BLAST_ALIGN_PARAMS");
1257 stringblastAlignParamsTag = (
m_Program==
"blastn") ?
"ALIGN_PARAMS_NUC":
"ALIGN_PARAMS_PROT";
1258 stringblastAlignProtParamsTable = reg.
Get(
"Templates", blastAlignParamsTag);
1277 intAlignOption = 0;
1314 stringmolTypeString;
1318molTypeString =
"cdna";
1321molTypeString =
"dna";
1324molTypeString =
"rna";
1327molTypeString =
"amino acid";
1330molTypeString =
"nucleic acid";
1333molTypeString =
"Unknown";
1335 returnmolTypeString;
1350queryID->
GetLabel(&seqID,labelType);
1353 stringseqDescr = CBlastFormatUtil::GetSeqDescrString(*bioseq);
1354seqDescr = seqDescr.empty() ?
"None": seqDescr;
1365obj.
insert(
"Query",seqID);
1366obj.
insert(
"Query_descr",seqDescr);
1369obj.
insert(
"Moltype",molType);
1378obj.
insert(
"Database_descr",dbTitle);
1386 if(
results.HasWarnings()) {
1413 unsigned intitr_num
1415blast::CPsiBlastIterationState::TSeqIds prev_seqids
1417 boolis_deltablast_domain_result
)
1450 if(
results.HasWarnings()) {
1462 stringreportCaption =
"Tax BLAST report";
1468 const boolkIsTabularOutput =
false;
1470 if(is_deltablast_domain_result) {
1471 m_Outfile<<
"Results from domain search"<<
"\n";
1475 m_Outfile<<
"Results from round "<< itr_num <<
"\n";
1483 stringmessage =
"Failed to resolve SeqId: "+
results.GetSeqId()->AsFastaString();
1500 const boolkBelieveSubject =
false;
1502CBlastFormatUtil::AcknowledgeBlastSubject(*subject_bioseq,
1509 if( !
results.HasAlignments() ) {
1511<<
"***** "<< CBlastFormatUtil::kNoHitsFound <<
" *****"<<
"\n" 1525aln_set = CBlastFormatUtil::SortSeqalignForSortableFormat(
1527(
m_Program==
"tblastx") ?
true:
false,
1548 results.GetMaskedQueryRegions(masklocs);
1551CBlastFormatUtil::PruneSeqalign(*aln_set, copy_aln_set,
m_NumAlignments);
1560 intkAlignToShow=2000000000;
1583 results.GetSubjectMasks(subj_masks);
1596 boolfill_clone_info,
1597 boolprint_airr_format_header,
1633 if(
results.HasWarnings()) {
1637 if(
results.GetIgAnnotation()->m_MinusStrand) {
1664 m_Outfile<<
"The AIRR format is only available for nucleotide sequence search"<< endl;
1670 stringreportCaption =
"Tax BLAST report";
1677 const boolkIsTabularOutput =
false;
1697 if( !
results.HasAlignments() ) {
1699<<
"***** "<< CBlastFormatUtil::kNoHitsFound <<
" *****"<<
"\n" 1732 if(
results.HasAlignments()) {
1734CSeq_align_set::Tdata::const_iterator itr = aln_set->
Get().begin();
1740 if(fill_clone_info) {
1743 m_Outfile<<
"Domain classification requested: "<<
m_IgOptions->m_DomainSystem << endl << endl;
1752 results.GetMaskedQueryRegions(masklocs);
1769list < CRef<CDisplaySeqalign::DomainInfo> > domain;
1771 stringkabat_domain_name[] = {
"FR1",
"CDR1",
"FR2",
"CDR2",
"FR3",
"CDR3",
"FR4",
"C region"};
1772 stringimgt_domain_name[] = {
"FR1-IMGT",
"CDR1-IMGT",
"FR2-IMGT",
"CDR2-IMGT",
"FR3-IMGT",
"CDR3-IMGT",
"FR4-IMGT",
"C region"};
1773 intdomain_name_length = 8;
1774vector<string> domain_name;
1776 for(
int i= 0;
i< domain_name_length;
i++) {
1777domain_name.push_back(kabat_domain_name[
i]);
1780 for(
int i= 0;
i< domain_name_length;
i++) {
1781domain_name.push_back(imgt_domain_name[
i]);
1787 for(
int i=0;
i<9;
i=
i+ 2) {
1802temp->is_subject_start_valid = subject_start > 0 ?
true:
false;
1803temp->is_subject_stop_valid = subject_stop > 0 ?
true:
false;
1804temp->domain_name = domain_name[
i/2];
1805domain.push_back(temp);
1814 intsubject_start = -1;
1816 intsubject_stop = -1;
1822temp->subject_seqloc =
new CSeq_loc(*id_holder,
1825temp->is_subject_start_valid = subject_start > 0 ?
true:
false;
1826temp->is_subject_stop_valid = subject_stop > 0 ?
true:
false;
1827temp->domain_name = domain_name[5];
1828domain.push_back(temp);
1834 intsubject_start = -1;
1836 intsubject_stop = -1;
1842temp->subject_seqloc =
new CSeq_loc(*id_holder,
1845temp->is_subject_start_valid = subject_start > 0 ?
true:
false;
1846temp->is_subject_stop_valid = subject_stop > 0 ?
true:
false;
1847temp->domain_name = domain_name[6];
1848domain.push_back(temp);
1857 intsubject_start = -1;
1859 intsubject_stop = -1;
1865temp->subject_seqloc =
new CSeq_loc(*id_holder,
1868temp->is_subject_start_valid = subject_start > 0 ?
true:
false;
1869temp->is_subject_stop_valid = subject_stop > 0 ?
true:
false;
1870temp->domain_name = domain_name[7];
1871domain.push_back(temp);
1876 intnum_align_to_show =
results.m_NumActualV +
results.m_NumActualD +
1897vector<string> chain_type_list;
1899 if(*iter==
"N/A"){
1902chain_type_list.push_back(*iter);
1918 results.GetSubjectMasks(subj_masks);
1923 m_Outfile<<
"\n<CENTER><b><FONT color=\"green\">Alignments</FONT></b></CENTER>" 1943 if(!
results.HasAlignments()){
1957 stringtitle = sequence::CDeflineGenerator().GenerateDefline(q_bh);
1961 des->SetTitle(
"reversed|"+ title);
1963 des->SetTitle(title);
1977align_set->
Set().push_back(new_align);
1979 results.SetSeqAlign().Reset(&*align_set);
1983 for(
int i=0;
i<6;
i+=2) {
1991 for(
int i=0;
i<12; ++
i) {
1998 for(
int i=0;
i<3; ++
i) {
2009 unsigned intitr_num
2011blast::CPsiBlastIterationState::TSeqIds prev_seqids
2040 if((**result).HasErrors()) {
2041 m_Outfile<<
"\n"<< (**result).GetErrorStrings() <<
"\n";
2044 if((**result).HasWarnings()) {
2045 m_Outfile<<
"\n"<< (**result).GetWarningStrings() <<
"\n";
2059 stringreportCaption =
"Tax BLAST report";
2071 m_Outfile<<
"Results from round "<< itr_num <<
"\n";
2084first_results.
GetRID());
2087 stringreportCaption =
"Tax BLAST report";
2101 for(
intindex=0; index<phi_query_info->
num_patterns; index++)
2104CBlastFormatUtil::PrintPhiInfo(phi_query_info->
num_patterns,
2105 string(phi_query_info->
pattern),
2113<<
"***** "<< CBlastFormatUtil::kNoHitsFound <<
" *****"<<
"\n" 2140 for(index=0; index<phi_query_info->
num_patterns; index++)
2142list <CDisplaySeqalign::FeatureInfo*> phiblast_pattern;
2147(
TSeqPos) (occurrences[index].
offset+ occurrences[index].length - 1));
2150phiblast_pattern.push_back(feature_info);
2152 m_Outfile<<
"\nSignificant alignments for pattern occurrence "<< index+1
2153<<
" at position "<< 1+occurrences[index].
offset<<
"\n\n";
2156result_set[index].GetMaskedQueryRegions(masklocs);
2159CBlastFormatUtil::PruneSeqalign(*aln_set, copy_aln_set,
m_NumAlignments);
2190 NON_CONST_ITERATE(list<CDisplaySeqalign::FeatureInfo*>, itr, phiblast_pattern) {
2262 m_Outfile<<
"\n\nMatrix: "<<
"blastn matrix "<<
2263options.GetMatchReward() <<
" "<<
2264options.GetMismatchPenalty() <<
"\n";
2267 m_Outfile<<
"\n\nMatrix: "<< options.GetMatrixName() <<
"\n";
2270 if(options.GetGappedMode() ==
true) {
2271 doublegap_extension = (double) options.GetGapExtensionCost();
2272 if((
m_Program==
"megablast"||
m_Program==
"blastn") && options.GetGapExtensionCost() == 0)
2274gap_extension = -2*options.GetMismatchPenalty() + options.GetMatchReward();
2275gap_extension /= 2.0;
2277 m_Outfile<<
"Gap Penalties: Existence: " 2278<< options.GetGapOpeningCost() <<
", Extension: " 2279<< gap_extension <<
"\n";
2281 if(options.GetWordThreshold()) {
2282 m_Outfile<<
"Neighboring words threshold: "<<
2283options.GetWordThreshold() <<
"\n";
2285 if(options.GetWindowSize()) {
2286 m_Outfile<<
"Window for multiple hits: "<<
2287options.GetWindowSize() <<
"\n";
2316 static string s_GetBaseName(
const string& baseFile,
boolisXML,
boolwithPath)
2369 if(query_id->
Match(*(*itr)->GetQueryId())) {
2397 if(query_id->
Match(*(*itr)->GetQueryId())) {
2409 if(query_id->
Match(*(*itr)->GetQueryId())) {
2426 m_Outfile<<
"<?xml version=\"1.0\"?>\n<BlastXML2\n" 2427 "xmlns=\"http://www.ncbi.nlm.nih.gov\"\n" 2428 "xmlns:xi=\"http://www.w3.org/2003/XInclude\"\n" 2429 "xmlns:xs=\"http://www.w3.org/2001/XMLSchema-instance\"\n" 2430 "xs:schemaLocation=\"http://www.ncbi.nlm.nih.gov http://www.ncbi.nlm.nih.gov/data_specs/schema_alt/NCBI_BlastOutput2.xsd\">\n";
2447 m_Outfile<<
"{\n\t\"BlastJSON\": [\n";
2504 inttotal_subj_length = 0;
2516db_name =
m_DbName.substr(dir.length());
2519 if(db_name.size() > 500) {
2520db_name.resize(500);
2530 if(
l->GetNumGis()) {
2533 if(
l->GetNumSis()){
2536 if(
l->GetNumTaxIds()){
2539 if(
l->GetNumPigs()) {
2545 if(
l->GetNumGis()) {
2548 if(
l->GetNumSis()){
2551 if(
l->GetNumTaxIds()){
2554 if(
l->GetNumPigs()) {
static CRef< CScope > m_Scope
Produce formatted blast output for command line applications.
Formatting of pairwise sequence alignments in XML form.
ESubjectMaskingType
Define the possible subject masking types.
bool s_SetCompBasedStats(EProgram program)
int s_SetFlags(string &program, blast::CFormattingArgs::EOutputFormat format_type, bool html, bool showgi, bool isbl2seq, bool disableKAStats)
static const string kHTML_Suffix
static string s_GetBaseName(const string &baseFile, bool isXML, bool withPath)
static void s_SetCloneInfo(const CIgBlastTabularInfo &tabinfo, const CBioseq_Handle &handle, CBlastFormat::SClone &clone_info)
static string s_GetMolType(const CBioseq_Handle &bioseqHandle)
static const string kHTML_Prefix
bool s_IsGlobalSeqAlign(CConstRef< objects::CSeq_align_set > seqalign_set)
static bool s_HasLocalIDs(CConstRef< CBlastQueryVector > queries)
Auxialiary function to determine if there are local IDs in the identifiers of the query sequences.
Boolean Blast_SubjectIsNucleotide(EBlastProgramType p)
Returns true if the subject is nucleotide.
Int4 BlastSeqSrcGetNumSeqs(const BlastSeqSrc *seq_src)
Get the number of sequences contained in the sequence source.
Int8 BlastSeqSrcGetTotLen(const BlastSeqSrc *seq_src)
Get the total length of all sequences in the sequence source.
Definitions and prototypes used by blast_stat.c to calculate BLAST statistics.
EProgram
This enumeration is to evolve into a task/program specific list that specifies sets of default parame...
@ eRPSBlast
protein-pssm (reverse-position-specific BLAST)
@ eBlastp
Protein-Protein.
@ eTblastn
Protein-Translated nucl.
@ eMegablast
Nucl-Nucl (traditional megablast)
@ eDeltaBlast
Delta Blast.
@ ePSITblastn
PSI Tblastn.
@ eDiscMegablast
Nucl-Nucl using discontiguous megablast.
@ eRPSTblastn
nucleotide-pssm (RPS blast with translated query)
@ eBlastx
Translated nucl-Protein.
build_archive declarations
static void GetAsciiProteinMatrix(const char *matrix_name, CNcbiMatrix< int > &retval)
Retrieve a scoring matrix for the provided matrix name.
@ eAddEOLAtLineEnd
add EOL at the beginning of the string
@ eAddEOLAtLineStart
add spaces at the end of the string
static string AddSpaces(string paramVal, size_t maxParamLength, int spacesFormatFlag=eSpacePosToCenter)
Calculate the number of spaces and add them to paramVal.
static string MapTemplate(string inpString, string tmplParamName, Int8 templParamVal)
Replace template tags by real data.
static void ExtractSeqAlignForSeqList(CRef< objects::CSeq_align_set > &all_aln_set, string alignSeqList)
extract seq_align_set coreesponding to seqid list
void LogBlastSearchInfo(blast::CBlastUsageReport &report)
void x_PrintOneQueryFooter(const blast::CBlastAncillaryData &summary)
Output the ancillary data for one query that was searched.
blast::CFormattingArgs::EOutputFormat m_FormatType
Format type.
string m_SubjectTag
Tag for subject sequences (e.g., name of input file)
void x_CreateDeflinesJson(CConstRef< CSeq_align_set > aln_set)
bool m_IsVdb
Flag indicate vdb search.
CConstRef< blast::CIgBlastOptions > m_IgOptions
Used by Igblast formatting.
string m_CustomOutputFormatSpec
The custom output format specification.
vector< CBlastFormatUtil::SDbInfo > m_DomainDbInfo
Information about DELTA-BLAST domain database.
void x_DisplayDeflinesWithTemplates(CConstRef< CSeq_align_set > aln_set)
bool m_IsUngappedSearch
true if the search was ungapped
void x_WriteXML2(CCmdLineBlastXML2ReportData &report_data)
void PrintOneResultSet(const blast::CSearchResults &results, CConstRef< blast::CBlastQueryVector > queries, unsigned int itr_num=numeric_limits< unsigned int >::max(), blast::CPsiBlastIterationState::TSeqIds prev_seqids=blast::CPsiBlastIterationState::TSeqIds(), bool is_deltablast_domain_result=false)
Print all alignment information for a single query sequence along with any errors or warnings (errors...
CRef< SBlastXMLIncremental > m_BlastXMLIncremental
Structure for incremental XML BLAST output.
CRef< blast::IBlastSeqInfoSrc > m_SeqInfoSrc
Used to retrieve subject sequence information.
CRef< blast::CSearchDatabase > m_SearchDb
CRef< CScope > m_Scope
Scope containing query and subject sequences.
bool m_IsBl2Seq
True if we are formatting for BLAST2Sequences.
void PrintReport(const blast::CSearchResults &results, CBlastFormat::DisplayOption displayOption)
Print Metadata in json format or descriptions in html format or alignments in html format app....
CConstRef< objects::CBioseq > x_CreateSubjectBioseq()
Creates a bioseq to be able to print the acknowledgement for the subject bioseq when formatting bl2se...
CRef< objects::CSeq_annot > x_WrapAlignmentInSeqAnnot(CConstRef< objects::CSeq_align_set > alnset, const string &db_title) const
Wrap the Seq-align-set to be printed in a Seq-annot (as the C toolkit binaries)
void x_ConfigCShowBlastDefline(align_format::CShowBlastDefline &showdef, int skip_from=-1, int skip_to=-1, int index=-1, int num_descriptions_to_show=-1)
Configure the CShowBlastDefline instance passed to it.
const char * m_MatrixName
name of scoring matrix
bool m_IsRemoteSearch
True if this object is formatting the results of a remote search.
void PrintEpilog(const blast::CBlastOptions &options)
Print the footer of the blast report.
void x_InitAlignTemplates(void)
void x_ReverseQuery(blast::CIgBlastResults &results)
Replace the query with its reversed-compliement.
CBlastFormat(const blast::CBlastOptions &opts, blast::CLocalDbAdapter &db_adapter, blast::CFormattingArgs::EOutputFormat format_type, bool believe_query, CNcbiOstream &outfile, int num_summary, int num_alignments, CScope &scope, const char *matrix_name=BLAST_DEFAULT_MATRIX, bool show_gi=false, bool is_html=false, int qgencode=BLAST_GENETIC_CODE, int dbgencode=BLAST_GENETIC_CODE, bool use_sum_statistics=false, bool is_remote_search=false, int dbfilt_algorithm=-1, const string &custom_output_format=kEmptyStr, bool is_megablast=false, bool is_indexed=false, const blast::CIgBlastOptions *ig_opts=NULL, const blast::CLocalDbAdapter *domain_db_adapter=NULL, const string &cmdline=kEmptyStr, const string &subjectTag=kEmptyStr)
Constructor.
void x_DisplayAlignsWithTemplates(CConstRef< CSeq_align_set > aln_set, const blast::CSearchResults &results)
int m_DbGenCode
database genetic code
int m_NumAlignments
number of database sequences to present alignments for.
void ResetScopeHistory()
Resets the scope history for some output formats.
bool m_DbIsAA
true if database has protein sequences
void x_PrintStructuredReport(const blast::CSearchResults &results, CConstRef< blast::CBlastQueryVector > queries)
Prints XML and both species of ASN.1.
void x_DisplayDeflines(CConstRef< CSeq_align_set > aln_set, unsigned int itr_num, blast::CPsiBlastIterationState::TSeqIds &prev_seqids, int additional=0, int index=-1, int defline_length=-1)
Display the BLAST deflines in the traditional BLAST report.
void x_GenerateXML2MasterFile(void)
bool m_ShowGi
add GI number of database sequence IDs
CShowBlastDefline::SDeflineTemplates * m_DeflineTemplates
CConstRef< blast::CBlastOptions > m_Options
BLAST options.
DisplayOption
Display options for blast_report.
@ eDescriptionsWithTemplates
int m_HitlistSize
number of database sequences to save results for
string m_Program
blast program
int m_QueryGenCode
query genetic code
int m_QueriesFormatted
Used to count number of searches formatted.
void x_PrintXML2Report(const blast::CSearchResults &results, CConstRef< blast::CBlastQueryVector > queries)
CNcbiOstream & m_Outfile
stream to receive output
vector< CBlastFormatUtil::SDbInfo > m_DbInfo
internal representation of database information
bool x_IsVdbSearch() const
static void PrintArchive(CRef< objects::CBlast4_archive > archive, CNcbiOstream &out)
Auxiliary function to print the BLAST Archive in multiple output formats.
void WriteArchive(blast::IQueryFactory &queries, blast::CBlastOptionsHandle &options_handle, const blast::CSearchResultSet &results, unsigned int num_iters=0, const list< CRef< objects::CBlast4_error > > &msg=list< CRef< objects::CBlast4_error > >())
Writes out the query and results as an "archive" format.
~CBlastFormat()
Class destructor.
int m_NumSummary
number of 1-line summaries
bool m_IsHTML
true if HTML output desired
bool m_DisableKAStats
Modify format to accomodate results that do not contain KA stats such as bitscores and evalues.
bool m_Megablast
true if megablast was used.
CNcbiMatrix< int > m_ScoringMatrix
Scoring matrix instantiated from m_MatrixName.
CDisplaySeqalign::SAlignTemplates * m_AlignTemplates
void x_InitDeflineTemplates(void)
string m_DbName
name of blast database
bool m_IndexedMegablast
true if indexed megablast was used.
void x_PrintTaxReport(const blast::CSearchResults &results)
void x_GenerateJSONMasterFile(void)
bool m_LongSeqId
If true, print long sequence ids (database|accession)
void x_InitSAMFormatter()
CRef< blast::CBlastQueryVector > m_AccumulatedQueries
Queries are required for XML format only.
@ kMinTaxFormatLineLength
@ kFormatLineLength
The line length of pairwise blast output.
bool m_ShowLinkedSetSize
If the output format supports 1-line summaries, the search is ungapped and the alignments have had HS...
Int8 GetDbTotalLength()
Get total length of the database.
IOS_BASE::iostate m_OrigExceptionMask
bool m_BelieveQuery
true if query sequence IDs are parsed
void PrintProlog()
Print the header of the blast report.
void x_PrintAirrRearrangement(const blast::CIgBlastResults &results, SClone &clone_info, bool fill_clone_info, bool print_airr_format_header)
Prints AirrRearrangement format.
unique_ptr< CBlast_SAM_Formatter > m_SamFormatter
Pointer to the SAM formatting object.
bool m_IsDbScan
True if it is m_IsBl2Seq in dbscan mode.
void x_PrintIgTabularReport(const blast::CIgBlastResults &results, SClone &clone_info, bool fill_clone_info)
Prints IgTabular report for one query.
void x_SplitSeqAlign(CConstRef< CSeq_align_set > full_alignment, CSeq_align_set &repeated_seqs, CSeq_align_set &new_seqs, blast::CPsiBlastIterationState::TSeqIds &prev_seqids)
Split the full alignment into two sets of alignments: one for those seen in the previous iteration an...
blast::CSearchResultSet m_AccumulatedResults
Accumulated results to display in XML format.
void x_PrintTabularReport(const blast::CSearchResults &results, unsigned int itr_num)
Prints Tabular report for one query.
void x_SetAlignParameters(CDisplaySeqalign &cds)
void PrintPhiResult(const blast::CSearchResultSet &result_set, CConstRef< blast::CBlastQueryVector > queries, unsigned int itr_num=numeric_limits< unsigned int >::max(), blast::CPsiBlastIterationState::TSeqIds prev_seqids=blast::CPsiBlastIterationState::TSeqIds())
Print all alignment information for aa PHI-BLAST run.
Class containing information needed for tabular formatting of BLAST results.
void SetQueryGeneticCode(int q_gc)
void SetParseSubjectDefline(bool val)
Should subject deflien be parsed for id or not?
void PrintNumProcessed(int num_queries)
Prints number of queries processed.
EFieldDelimiter
What delimiter to use between fields in each row of the tabular output.
void SetCustomDelim(string customDelim)
void PrintFieldSpecs(void)
Print field specifiers of all requested fields.
void SetQueryRange(TSeqRange &q_range)
Set query range.
void SetParseLocalIds(bool val)
Should local IDs be parsed or not?
virtual void Print(void)
Print one line of tabular output.
int SetFields(const objects::CSeq_align &sal, objects::CScope &scope, CNcbiMatrix< int > *matrix=0)
Set all member fields, given a Seq-align.
void SetNoFetch(bool nofetch)
Avoid fetching sequence (if possible) If the sequence is needed (e.g., will be formatted,...
void SetDbGeneticCode(int db_gc)
void PrintHeader(const string &program, const objects::CBioseq &bioseq, const string &dbname, const string &rid=kEmptyStr, unsigned int iteration=numeric_limits< unsigned int >::max(), const objects::CSeq_align_set *align_set=0, CConstRef< objects::CBioseq > subj_bioseq=CConstRef< objects::CBioseq >(), bool is_csv=false)
Print the tabular output header.
void AddParam(EUsageParams p, int val)
Strategy class to gather the data for generating BLAST XML output.
Strategy class to gather the data for generating BLAST XML output.
Class for computing sequences' titles ("definitions").
@ eShowSequencePropertyLabel
@ eTranslateNucToNucAlignment
@ eShowInfoOnMouseOverSeqid
@ eShowTranslationForLocalSeq
@ eShowAlignStatsForMultiAlignView
void SetLineLen(size_t len)
number of bases or amino acids per line
TranslatedFrameForLocalSeq
void SetQueryNumber(int number)
for linking to mapviewer
void SetSeqLocColor(SeqLocColorOption option=eBlack)
color for seqloc display such as masked region
void SetMasterDomain(list< CRef< DomainInfo > > *domain)
void SetMiddleLineStyle(MiddleLineStyle option=eBar)
set middle line style
void SetSeqLocChar(SeqLocCharOption option=eX)
character style for seqloc display such as masked region
void SetAlignOption(int option)
Set functions.
void SetTranslatedFrameForLocalSeq(TranslatedFrameForLocalSeq frame)
void DisplaySeqalign(CNcbiOstream &out)
call this to display seqalign
void SetDbType(bool is_na)
database type.
void SetResultPositionIndex(int index)
void SetDbName(string name)
set blast database name
void SetSequencePropertyLabel(const vector< string > *SequencePropertyLabel, EOwnership ownership=eNoOwnership)
void SetAlignType(AlignType type)
Needed only if you want to display positives and strand.
static CRef< objects::CSeq_align_set > PrepareBlastUngappedSeqalign(const objects::CSeq_align_set &alnset)
static functions Need to call this if the seqalign is stdseg or dendiag for ungapped blast alignment ...
void SetMasterGeneticCode(int code)
Set genetic code for master sequence.
void SetSlaveGeneticCode(int code)
Set Genetic cod for slaves.
void SetNumAlignToShow(int num)
Display top num seqalign Note this only limit the number of seqalign regardless of the seqids.
void SetSubjectMasks(const TSeqLocInfoVector &masks)
Sets the masks and the masking algorithm used for the subject sequences.
void UseLongSequenceIds(void)
Sets usage of long sequence ids (database|accession)
void SetAlignTemplates(SAlignTemplates *alignTemplates)
@ eJsonSeqalign
JSON seq-align.
@ eTabular
Tabular output.
@ eCommaSeparatedValues
Comma-separated values.
@ eCommaSeparatedValuesWithHeader
Comma-separated values with a header.
@ eAsnText
ASN.1 text output.
@ eAirrRearrangement
igblast AIRR rearrangement, 19
@ eXml2_S
XML2 single file.
@ eJson_S
JSON2 single file.
@ eAsnBinary
ASN.1 binary output.
@ eFlatQueryAnchoredNoIdentities
@ eFlatQueryAnchoredIdentities
Flat query anchored no identities.
@ eQueryAnchoredNoIdentities
Flat query anchored showing identities.
@ eQueryAnchoredIdentities
Query anchored no identities.
@ eTabularWithComments
Tabular output with comments.
Class containing information needed for tabular formatting of BLAST results.
void PrintMasterAlign(const CConstRef< blast::CIgBlastOptions > &ig_opts, const string &header="# ") const
Print domain information.
int SetFields(const objects::CSeq_align &align, objects::CScope &scope, const string &chain_type, const string &master_chain_type_to_show, CNcbiMatrix< int > *matrix=0)
Set fields for all other alignments.
const vector< SIgDomain * > & GetIgDomains() const
Get Ig domain.
void PrintHeader(const CConstRef< blast::CIgBlastOptions > &ig_opts, const string &program, const objects::CBioseq &bioseq, const string &dbname, const string &domain_sys, const string &rid=kEmptyStr, unsigned int iteration=numeric_limits< unsigned int >::max(), const objects::CSeq_align_set *align_set=0, CConstRef< objects::CBioseq > subj_bioseq=CConstRef< objects::CBioseq >())
virtual void Print(void)
Override the print method.
void SetIgAnnotation(const CRef< blast::CIgAnnotation > &annot, const CConstRef< blast::CIgBlastOptions > &ig_opts, CConstRef< CSeq_align_set > &align_result, CScope &scope)
One method to set all annotation information.
int SetMasterFields(const objects::CSeq_align &align, objects::CScope &scope, const string &chain_type, const string &master_chain_type_to_show, CNcbiMatrix< int > *matrix=0)
Set fields for master alignment.
void PrintHtmlSummary(const CConstRef< blast::CIgBlastOptions > &ig_opts) const
Print Html style summary.
void SetAirrFormatData(CScope &scope, const CRef< blast::CIgAnnotation > &annot, const CBioseq_Handle &query_handle, CConstRef< CSeq_align_set > align_result, const CConstRef< blast::CIgBlastOptions > &ig_opts)
void GetIgInfo(string &v, string &d, string &j, string &c, string &master_chain_to_show, string &cdr3_nuc, string &cdr3_aa, string &productive) const
Getter.
void PrintAirrRearrangement(CScope &scope, const CRef< blast::CIgAnnotation > &annot, const string &program_version, const CBioseq &query_bioseq, const string &dbname, const string &domain_sys, const string &rid, unsigned int iteration, const CSeq_align_set *align_set, CConstRef< CBioseq > subj_bioseq, CNcbiMatrix< int > *matrix, bool print_airr_format_header, const CConstRef< blast::CIgBlastOptions > &ig_opts)
CJson_Object push_back_object(void)
Add object type element to the end of the array.
bool Write(std::ostream &out, TJson_Write_Flags flags=fJson_Write_IndentWithSpace, unsigned int indent_char_count=4) const
Write JSON data into a stream.
CJson_Object SetObject(void)
Get JSON object contents of the node.
CJson_Array insert_array(const CJson_Node::TKeyType &name)
Insert array type element into the object.
void insert(const CJson_Node::TKeyType &name)
Insert null element into the object.
static CNcbiApplication * Instance(void)
Singleton method.
NCBI C++ Object Manager dependant implementation of IQueryFactory.
Search Results for All Queries.
Search Results for One Query.
string GetTitle() const
Returns the database title.
Tdata::size_type Size() const
This class displays the defline for BLAST result.
void SetDeflineTemplates(SDeflineTemplates *deflineTemplates)
Set this if defline tempaltes are used Param deflineTemplates: struct containg defline templates info...
void SetDbType(bool is_na)
Set this for constructing seqid url.
void DisplayBlastDefline(CNcbiOstream &out)
Display defline.
void SetResultPosIndex(int index)
set and add result position index to <name=seqid> in score quick link for multiple result case
void SetOption(int option)
options per DisplayOption
void SetupPsiblast(TIdString2SeqStatus *seq_status=NULL, PsiblastStatus status=eFirstPass)
Set psiblast specific options.
void Init(void)
Initialize defline params.
void SetQueryNumber(int number)
Set this for linking to mapviewer.
vector< CShowBlastDefline::SDeflineFormattingInfo * > GetFormattingInfo(void)
Get deflines formatting info.
void SetSkipRange(int from, int to)
Skip certain seqaligns (only used in Igblast)
void Display(CNcbiOstream &out)
Display defline.
@ eNewPass
Sequences are newly found in current pass.
@ eRepeatPass
Sequences were found in previous pass.
void SetDbName(string database)
Set this for constructing seqid url.
void DisplayOrgReport(CNcbiOstream &out)
Displays Organism Report.
Collection of masked regions for a single query sequence.
void Print(const CCompactSAMApplication::AlignInfo &ai)
API (CDeflineGenerator) for computing sequences' titles ("definitions").
Implementation of interface class to produce data required for generating BLAST XML2 output.
Implementation of interface class to produce data required for generating BLAST XML output.
std::ofstream out("events_result.xml")
main entry point for tests
const size_t kDfltLineLength
static void des(const char *src, const char *out)
CRef< objects::CBlast4_archive > BlastBuildArchive(blast::IQueryFactory &queries, blast::CBlastOptionsHandle &options_handle, const CSearchResultSet &results, CRef< CSearchDatabase > search_db, unsigned int num_iters=0)
Returns a blast archive object.
vector< string > m_ChainType
string GetRID() const
Returns the RID for these results (if applicable), otherwise returns an empty string.
CRef< CBlastAncillaryData > GetAncillaryData() const
Accessor for the query's search ancillary.
bool IsLocalId(const objects::CSeq_id *seqid)
Returns true if the CSeq_id is a local id.
const SPHIQueryInfo * GetPhiQueryInfo() const
Retrieves PHI-BLAST information about pattern on query.
set< objects::CSeq_id_Handle > TSeqIds
List of CSeq_ids.
ESubjectMaskingType GetMaskType() const
string Blast_ProgramNameFromType(EBlastProgramType program)
Returns a string program name, given a blast::EBlastProgramType enumeration.
CConstRef< objects::CSeq_id > GetSeqId() const
Accessor for the query's sequence identifier.
EProgram ProgramNameToEnum(const std::string &program_name)
Map a string into an element of the ncbi::blast::EProgram enumeration (except eBlastProgramMax).
void SetFilteringAlgorithm(int filt_algorithm_id)
Temporary fix for backwards compatibility with other 6.0 SCs.
EMoleculeType
Molecule of the BLAST database.
bool HasAlignments() const
Return true if there are any alignments for this query.
@ eCompBasedStats
2001 NAR paper
@ eIndexedMegablast
2008 Bioinformatics on indexed megablast
@ eMegaBlast
2000 J Compt Biol paper
@ eDeltaBlast
2012 Biology Direct on DeltaBLAST
@ eCompAdjustedMatrices
submitted for publication
@ eBlastDbIsNucleotide
nucleotide
@ eBlastDbIsProtein
protein
const CNcbiRegistry & GetConfig(void) const
Get the application's cached configuration parameters (read-only).
unsigned int TSeqPos
Type for sequence locations and lengths.
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#define NON_CONST_ITERATE(Type, Var, Cont)
Non constant version of ITERATE macro.
static void BlastPrintVersionInfo(const string program, bool html, CNcbiOstream &out)
Print out blast engine version.
static void BlastPrintReference(bool html, size_t line_len, CNcbiOstream &out, blast::CReference::EPublication publication=blast::CReference::eGappedBlast, bool is_psiblast=false)
Print out blast reference.
static void InsertSubjectScores(objects::CSeq_align_set &org_align_set, const objects::CBioseq_Handle &query_handle, TSeqRange query_range=TSeqRange(), ESubjectScores score_type=eQueryCovPerSubj)
string m_SerialXmlEnd
tag to be printed at end.
static CRef< objects::CSeq_annot > CreateSeqAnnotFromSeqAlignSet(const objects::CSeq_align_set &alnset, blast::EProgram program, const string &db_name, const string &db_title, bool vdb_search=false)
void BlastXML2_FormatReport(const IBlastXML2ReportData *data, CNcbiOstream *out_stream)
Fills all fields in the XML BLAST v2 output object.
void BlastJSON_FormatReport(const IBlastXML2ReportData *data, string file_name)
void BlastXML2_PrintHeader(CNcbiOstream *out_stream)
void BlastXML_FormatReport(objects::CBlastOutput &bxmlout, const IBlastXMLReportData *data, CNcbiOstream *out_stream=NULL, SBlastXMLIncremental *incremental_struct=NULL)
Fills all fields in the XML BLAST output object.
void BlastJSON_PrintHeader(CNcbiOstream *out_stream)
#define ERR_POST(message)
Error posting with file, line number information but without error codes.
const string & Get(const string &name, bool *found=NULL) const
Get environment value by name.
void Error(CExceptionArgs_Base &args)
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
void Warning(CExceptionArgs_Base &args)
static void SplitPath(const string &path, string *dir=0, string *base=0, string *ext=0)
Split a path string into its basic components.
#define MSerial_AsnBinary
#define MSerial_AsnText
I/O stream manipulators â.
string m_Name
PN - program name.
const string AsFastaString(void) const
virtual void Assign(const CSerialObject &source, ESerialRecursionMode how=eRecursive)
Optimized implementation of CSerialObject::Assign, which is not so efficient.
void GetLabel(string *label, ELabelType type=eDefault, TLabelFlags flags=fLabel_Default) const
Append a label for this Seq-id to the supplied string.
bool Match(const CSeq_id &sid2) const
Match() - TRUE if SeqIds are equivalent.
static int WorstRank(const CRef< CSeq_id > &id)
static CSeq_id_Handle GetHandle(const CSeq_id &id)
Normal way of getting a handle, works for any seq-id.
static int BestRank(const CRef< CSeq_id > &id)
ELabelType
return the label for a given string
@ eContent
Untagged human-readable accession or the like.
@ eDefault
default is to show type + content
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,...
string GenerateDefline(const CBioseq_Handle &bsh, TUserFlags flags=0)
Main method.
CRef< CSeq_loc > Map(const CSeq_loc &src_loc)
Map seq-loc.
CBioseq_Handle AddBioseq(CBioseq &bioseq, TPriority pri=kPriority_Default, EExist action=eExist_Throw)
Add bioseq, return bioseq handle.
CBioseq_Handle GetBioseqHandle(const CSeq_id &id)
Get bioseq handle by seq-id.
void ResetDataAndHistory(void)
Clear all information in the scope except added data loaders.
CBioseq_EditHandle GetBioseqEditHandle(const CBioseq &bioseq)
Get edit handle for the specified object Throw an exception if object is not found,...
@ eGetBioseq_All
Search bioseq, load if not loaded yet.
void SetDescr(TDescr &v) const
TBioseqCore GetBioseqCore(void) const
Get bioseq core structure.
TSeqPos GetBioseqLength(void) const
CSeq_entry_Handle GetSeq_entry_Handle(void) const
Get parent Seq-entry handle.
CConstRef< CSeq_id > GetSeqId(void) const
Get id which can be used to access this bioseq handle Throws an exception if none is available.
TMol GetBioseqMolType(void) const
Get some values from core:
TObjectType * GetPointer(void) const THROWS_NONE
Get pointer,.
TObjectType * GetPointer(void) THROWS_NONE
Get pointer,.
void Reset(void)
Reset reference object.
void Reset(void)
Reset reference object.
bool NotEmpty(void) const THROWS_NONE
Check if CRef is not empty â pointing to an object and has a non-null value.
bool Empty(void) const THROWS_NONE
Check if CRef is empty â not pointing to any object, which means having a null value.
uint32_t Uint4
4-byte (32-bit) unsigned integer
int64_t Int8
8-byte (64-bit) signed integer
virtual const string & Get(const string §ion, const string &name, TFlags flags=0) const
Get the parameter value.
bool IsEnabled(void)
Indicates whether application usage statistics collection is enabled for a current reporter instance.
IO_PREFIX::ostream CNcbiOstream
Portable alias for ostream.
static int CompareNocase(const CTempString s1, SIZE_TYPE pos, SIZE_TYPE n, const char *s2)
Case-insensitive compare of a substring with another string.
static void TruncateSpacesInPlace(string &str, ETrunc where=eTrunc_Both)
Truncate whitespace in a string (in-place)
static string IntToString(int value, TNumToStringFlags flags=0, int base=10)
Convert int to string.
static bool StartsWith(const CTempString str, const CTempString start, ECase use_case=eCase)
Check if a string starts with a specified prefix value.
static string & ToUpper(string &str)
Convert string to upper case â string& version.
@ eTrunc_End
Truncate trailing whitespace only.
@ eNocase
Case insensitive compare.
C::value_type FindBestChoice(const C &container, F score_func)
Find the best choice (lowest score) for values in a container.
Tdata & Set(void)
Assign a value to data member.
list< CRef< CSeq_align > > Tdata
const Tdata & Get(void) const
Get the member data.
E_Choice Which(void) const
Which variant is currently selected.
bool IsLocal(void) const
Check if variant Local is selected.
const TInst & GetInst(void) const
Get the Inst member data.
bool CanGetLength(void) const
Check if it is safe to call GetLength method.
const TId & GetId(void) const
Get the Id member data.
bool IsSetInst(void) const
the sequence data Check if a value has been assigned to Inst data member.
TLength GetLength(void) const
Get the Length member data.
@ eMol_not_set
> cdna = rna
@ eMol_na
just a nucleic acid
char * dbname(DBPROCESS *dbproc)
Get name of current database.
unsigned int
A callback function used to compare two keys in a database.
NCBI C++ stream class wrappers for triggering between "new" and "old" C++ stream libraries.
Useful/utility classes and methods.
NOTE: This file contains work in progress and the APIs are likely to change, please do not rely on th...
static PCRE2_SIZE * offsets
static bool GetSeqId(const T &d, set< string > &labels, const string name="", bool detect=false, bool found=false)
Defines BLAST database access classes.
vector< TMaskedQueryRegions > TSeqLocInfoVector
Collection of masked regions for all queries in a BLAST search.
static SLJIT_INLINE sljit_ins l(sljit_gpr r, sljit_s32 d, sljit_gpr x, sljit_gpr b)
static SLJIT_INLINE sljit_ins msg(sljit_gpr r, sljit_s32 d, sljit_gpr x, sljit_gpr b)
Definition of SSeqLoc structure.
Complete type definition of Blast Sequence Source ADT.
Structure to hold the Gumbel parameters (for FSC).
Structure to hold the Karlin-Altschul parameters.
double K
K value used in statistics.
double Lambda
Lambda value used in statistics.
double H
H value used in statistics.
structure for showing domains on the master sequence
structure for store feature display info
CConstRef< objects::CSeq_loc > seqloc
string alignRowTmpl
Template for displayin actual pairwise alignment - BLAST_ALIGN_ROWS.
string alnTitlesTmpl
Template for displaying multiple defline titles.
string alignFeatureLinkTmpl
Template for displaying align features link -ALN_FEATURES_LINK.
string alnSeqInfoTmpl
Template for displaying sequnce link in defline.
string alnTitlesLinkTmpl
Template for displaying link for more defline titles.
string alignFeatureTmpl
Template for displaying align features -ALN_FEATURES.
string sortInfoTmpl
Template for displaying Sort by header - SORT_ALIGNS_SEQ.
string alnDefLineTmpl
Template for displaying one defline ALN_DEFLINE_ROW.
string alignInfoTmpl
Template for displaying singe align params - BLAST_ALIGN_PARAMS_NUC,BLAST_ALIGN_PARAMS_PROT.
string alignHeaderTmpl
Template for displaying header,deflines and gene info - BLAST_ALIGN_HEADER.
string alignRowTmplLast
Template for displayin actual last pairwise alignment - BLAST_ALIGN_ROWS_LST.
string scoreInfoTmpl
score info template
string seqInfoTmpl
sequence infor template
string defLineTmpl
whole defilne template
Structure to hold data for incremental XML formatting.
Information about a single pattern occurence in the query.
Int4 offset
Starting offset of this pattern occurrence.
In PHI BLAST, structure containing information about all pattern occurrences in query.
char * pattern
Pattern used, saved here for formatting purposes.
double probability
Estimated probability of the pattern.
Int4 num_patterns
Number of pattern occurrences in query.
SPHIPatternInfo * occurrences
Array of pattern occurrence information structures.
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