42 #include <unordered_map>
75 template <
typename StringT>
77 static const auto& s_Facet = get_ctype_facet<typename StringT::value_type>(
locale());
78 for (
auto& cch :
str) {
79 cch = s_Facet.tolower(cch);
84 template <
typename StringT>
86 static const auto& s_Facet = get_ctype_facet<typename StringT::value_type>(
locale());
87 for (
auto& cch :
str) {
88 cch = s_Facet.toupper(cch);
95 static const auto& s_Facet = get_ctype_facet<char>();
97 if (!all_of(
str.begin(),
str.end(), [](
char cch) ->
bool { return s_Facet.is(ctype_base::digit, cch); }))
100 i = stoi(
str, &count, 10);
101 if (count !=
str.size())
109 typedef initializer_list<pair<int, const char*>> int_string_map;
110 static const int_string_map s_MonthTable = {
111 { 1,
"Jan" }, { 1,
"January" },
112 { 2,
"Feb" }, { 2,
"February" },
113 { 3,
"Mar" }, { 3,
"March" },
114 { 4,
"Apr" }, { 4,
"April" },
115 { 5,
"May" }, { 5,
"May" },
116 { 6,
"Jun" }, { 6,
"June" },
117 { 7,
"Jul" }, { 7,
"July" },
118 { 8,
"Aug" }, { 8,
"August" },
119 { 9,
"Sep" }, { 9,
"September" },
120 { 10,
"Oct" }, { 10,
"October" },
121 { 11,
"Nov" }, { 11,
"November" },
122 { 12,
"Dec" }, { 12,
"December" }
125 if (month_str.empty())
return 0;
128 auto p = find_if(s_MonthTable.begin(), s_MonthTable.end(),
129 [&month_str](
const pair<int, const char*>& x) ->
bool { return NStr::EqualNocase(month_str, x.second); });
130 return p == s_MonthTable.end() ? 0 : p->first;
134 template <
class container_type,
class check_type,
class proc_type>
137 auto first = begin(container);
138 while (
first != end(container))
142 auto p = find_if_not(
first + 1, end(container),
f);
174 vector<string> tokens;
176 [&tokens](string::iterator p, string::iterator q) -> string::iterator {
178 if (!s.empty() && s !=
"D'" && s !=
"DE" && s !=
"DER" && s !=
"LA" && s !=
"IBN")
182 if (tokens.size() >= 2) {
185 return accumulate(tokens.begin(), tokens.end(),
string(),
186 [](
const string& x,
const string& y) { return x + y.substr(0, 1); });
188 else if (tokens.size() == 1) {
189 auto p = find(tokens.front().begin(), tokens.front().end(),
'-');
190 if (p != tokens.front().end() && p + 1 != tokens.front().end())
191 return tokens.front().substr(0, 1) +
string(1, p[1]);
193 return tokens.front().substr(0, 1);
209 static const auto& s_Facet = get_ctype_facet<char>();
211 if (pub_date.
IsYM()) {
212 auto& ym = pub_date.
GetYM();
213 pubmed_date.
_year = NStr::StringToNumeric<int>(ym.GetYear().Get());
215 if (ym.GetMS().IsMD()) {
216 auto&
md = ym.GetMS().GetMD();
218 if (pubmed_date.
_month >= 1 && pubmed_date.
_month <= 12 &&
md.IsSetDay()) {
219 pubmed_date.
_day = NStr::StringToNumeric<int>(
md.GetDay().Get());
222 else if (ym.GetMS().IsSeason()) {
223 auto& season = ym.GetMS().GetSeason().Get();
224 auto pos = season.find(
'-');
247 s_ForeachToken(medline_date, [](
char cch) ->
bool {
return s_Facet.is(ctype_base::alnum, cch); },
248 [&pubmed_date](string::iterator p, string::iterator q) -> string::iterator {
252 if (pubmed_date.
_year == 0 && num >= 1800 && num <= 2100)
253 pubmed_date.
_year = num;
254 else if (pubmed_date.
_month == 0 && num >= 1 && num <= 12)
256 else if (pubmed_date.
_month != 0 && pubmed_date.
_day == 0 && num >= 1 && num <= 31)
257 pubmed_date.
_day = num;
259 else if (pubmed_date.
_month == 0) {
278 std_date.
SetYear(NStr::StringToNumeric<CDate_std::TYear>(adate.
GetYear().
Get()));
280 std_date.
SetDay(NStr::StringToNumeric<CDate_std::TDay>(adate.
GetDay().
Get()));
284 string str_date = adate.
GetYear();
299 if (
journal.IsSetISOAbbreviation()) {
301 iso->SetIso_jta(
journal.GetISOAbbreviation());
302 title->
Set().push_back(iso);
307 title->
Set().push_back(mljta);
311 issn->SetIssn(
journal.GetISSN());
312 title->
Set().push_back(issn);
317 name->SetName(
journal.GetTitle());
318 title->
Set().push_back(name);
329 const string& ref_type)
332 string attr_ref_type = CCommentsCorrections::C_Attlist::GetTypeInfo_enum_EAttlist_RefType()->
333 FindName(ref->GetAttlist().GetRefType(),
false);
334 if (attr_ref_type == ref_type) {
337 if (ref->IsSetNote()) temp +=
". " +
utf8_to_string(ref->GetNote());
338 if (ref->IsSetPMID()) temp +=
". PMID: " + ref->GetPMID();
351 static const unordered_map<string, int> s_PubStatusId {
365 auto p = s_PubStatusId.find(publication_status);
381 string pub_model = CArticle::C_Attlist::GetTypeInfo_enum_EAttlist_PubModel()->
383 if (pub_model ==
"Electronic-Print" || pub_model ==
"Electronic-eCollection") {
396 if (!volume.empty()) imprint->
SetVolume(volume);
399 if (!issue.empty()) imprint->
SetIssue(issue);
402 if (!pages.empty()) imprint->
SetPages(pages);
406 if (!list_language.empty())
407 languages = accumulate(
next(list_language.begin()), list_language.end(), list_language.front()->Get(),
408 [](
const auto& s,
const auto& e) ->
string { return s +
"," + e->Get(); });
427 string pub_status = CPubMedPubDate::C_Attlist::GetTypeInfo_enum_EAttlist_PubStatus()->
428 FindName(pub_date->GetAttlist().GetPubStatus(),
false);
431 date_set->
Set().push_back(pub_stat_date);
461 bool has_authors = any_of(list_author.begin(), list_author.end(),
462 [](
const CRef<CAuthor>& auth)->bool { return s_IsValidYN(*auth); });
464 bool std_format = any_of(list_author.begin(), list_author.end(), [](
const CRef<CAuthor>& auth)->bool {
465 return s_IsValidYN(*auth) && (auth->GetLC().IsCollectiveName() ||
466 (auth->IsSetAffiliationInfo() && !auth->GetAffiliationInfo().empty())); });
469 for (
auto author : list_author) {
473 if (author->GetLC().IsCollectiveName()) {
480 auth->SetName(*person);
481 auto& list_affiliation_info = author->GetAffiliationInfo();
482 if (!list_affiliation_info.empty()) {
483 list<string> affiliations;
484 for (
auto affiliation_info : list_affiliation_info) {
486 if (!affiliation.empty()) affiliations.emplace_back(std::move(affiliation));
488 if (!affiliations.empty()) {
490 affil->
SetStr(accumulate(
next(affiliations.begin()), affiliations.end(), affiliations.front(),
491 [](
const string& s1,
const string& s2)->string { return s1 +
"; " + s2; }));
492 auth->SetAffil(*affil);
495 auth_names->SetStd().push_back(auth);
506 person->
SetMl(
"et al");
508 auth->SetName(*person);
509 auth_names->SetStd().push_back(auth);
512 auth_names->SetMl().push_back(
"et al");
523 static const unordered_map<CArticleId::C_Attlist::EAttlist_IdType, objects::CArticleId::E_Choice> s_ArticleIdTypeId = {
534 auto p = s_ArticleIdTypeId.find(id_type);
535 return p != s_ArticleIdTypeId.end() ? p->second : objects::CArticleId::e_Other;
544 if (title) cit_article->
SetTitle(*title);
546 if (author_list) cit_article->
SetAuthors(*author_list);
561 auto& desc_name = mesh_heading_it->GetDescriptorName();
562 if (desc_name.GetAttlist().IsSetMajorTopicYN() &&
564 medline_mesh->SetMp(
true);
565 medline_mesh->SetTerm(desc_name.GetDescriptorName());
566 for (
auto qualifier_name_it : mesh_heading_it->GetQualifierName()) {
568 if (qualifier_name_it->GetAttlist().IsSetMajorTopicYN() &&
571 qual->SetSubh(qualifier_name_it->GetQualifierName());
572 medline_mesh->SetQual().push_back(qual);
574 mesh.push_back(medline_mesh);
581 for (
auto chemical_it : chemical_list.
GetChemical()) {
583 chem->SetName(chemical_it->GetNameOfSubstance());
585 string registry_number = chemical_it->GetRegistryNumber();
586 if (registry_number.empty() || registry_number ==
"0")
587 chem->SetType(chem->eType_nameonly);
588 else if (registry_number.size() > 2 &&
toupper(registry_number[0]) ==
'E' &&
toupper(registry_number[1]) ==
'C') {
589 chem->SetCit(registry_number.c_str() + 2 + strspn(registry_number.c_str() + 2,
" "));
590 chem->SetType(chem->eType_ec);
593 chem->SetCit(registry_number);
594 chem->SetType(chem->eType_cas);
596 chems.push_back(chem);
603 static const unordered_map<string, int> s_DatabankTypeId {
619 auto p = s_DatabankTypeId.find(databank_name);
620 return p == s_DatabankTypeId.end() ? -1 : p->second;
626 for (
auto databank_it : databank_list.
GetDataBank()) {
627 string databank_name = databank_it->GetDataBankName();
631 if (databank_it->IsSetAccessionNumberList()) {
632 for (
auto& accession_number_it : databank_it->GetAccessionNumberList().GetAccessionNumber()) {
635 si->SetCit(accession_number_it->Get());
651 for (
auto& gene_symbol_it : gene_symbol_list.
GetGeneSymbol()) {
652 mgenes.push_back(gene_symbol_it->Get());
662 pub_types.push_back(publication_type_it->GetPublicationType());
671 for (
auto pub_date : pubmed_pubdates) {
672 if (pub_date->GetAttlist().GetPubStatus() == status) {
682 string abstract_text;
685 string label = abstract_text_it->GetAttlist().IsSetLabel() ?
686 abstract_text_it->GetAttlist().GetLabel() +
": " :
"";
687 if (!abstract_text.empty()) abstract_text.append(
" ");
690 return abstract_text;
710 if (cit.GetArticle().IsSetAbstract())
712 if (cit.IsSetMeshHeadingList())
714 if (cit.IsSetChemicalList())
716 if (cit.GetArticle().IsSetDataBankList())
718 if (cit.GetArticle().IsSetGrantList())
720 if (cit.IsSetGeneSymbolList())
734 return medline_entry;
743 for (
char& cch :
str) {
744 if (cch ==
'\r' || cch ==
'\n' || cch ==
'\t')
753 static const char* s_SeasonTab[] = {
"Winter",
"Spring",
"Summer",
"Autumn" };
758 if (pm_pub_date.
_month != 0) {
759 if (pm_pub_date.
_month < 13) {
761 if (pm_pub_date.
_day != 0)
778 std_date.
SetYear(NStr::StringToNumeric<CDate_std::TYear>(pdate.
GetYear().
Get()));
780 std_date.
SetDay(NStr::StringToNumeric<CDate_std::TDay>(pdate.
GetDay().
Get()));
784 auto& hm = pdate.
GetHM();
785 std_date.
SetHour(NStr::StringToNumeric<CDate_std::THour>(hm.GetHour().Get()));
787 auto& ms = hm.GetMS();
788 std_date.
SetMinute(NStr::StringToNumeric<CDate_std::TMinute>(ms.GetMinute().Get()));
789 if (ms.IsSetSecond()) {
790 std_date.
SetSecond(NStr::StringToNumeric<CDate_std::TSecond>(ms.GetSecond().Get()));
799 string str_date = pdate.
GetYear();
824 if (!title_str.empty() || !vernacular_title_str.empty()) {
826 if (!title_str.empty()) {
828 name->SetName(title_str);
829 title->
Set().push_back(name);
831 if (!vernacular_title_str.empty()) {
833 name->SetTrans(vernacular_title_str);
834 title->
Set().push_back(name);
843 string author_medline_name;
846 if (!author_medline_name.empty() && author_medline_name.back() !=
'.')
847 author_medline_name.append(
".");
855 if (lfis.IsSetInitials())
857 else if (lfis.IsSetForeName())
859 if (!initials.empty())
860 author_medline_name.append(
" " + initials);
861 if (lfis.IsSetSuffix())
864 return author_medline_name;
871 if (pagination.
IsSEM()) {
872 auto& sem = pagination.
GetSEM();
873 if (sem.IsSetMedlinePgn()) {
877 if (sem.IsSetStartPage()) {
878 if (sem.IsSetEndPage())
return sem.GetStartPage() +
"-" + sem.GetEndPage();
879 else return sem.GetStartPage();
881 if (sem.IsSetEndPage())
return "-" + sem.GetEndPage();
887 if (pages.empty())
return "";
890 s_ForeachToken(pages, [](
char cch) ->
bool {
return cch !=
','; },
891 [&parts](string::iterator p, string::iterator q)->string::iterator {
893 x = regex_replace(x, regex(
"\\s+"),
"");
895 regex
r(
"^(.*?)-(.*)$");
897 regex_search(x, ma,
r);
898 if (ma.empty() || ma.str(1).length() <= ma.str(2).length())
901 parts.push_back(ma.str(1) +
"-" + ma.str(1).substr(0, ma.str(1).length() - ma.str(2).length()) + ma.str(2));
905 return parts.empty() ?
"" : accumulate(
next(parts.begin()), parts.end(), parts.front(),
906 [](
const string& s1,
const string& s2)->string { return s1 +
',' + s2; });
913 for (
auto article_id_it : article_id_list.
GetArticleId()) {
916 const string& str_id = article_id_it->GetArticleId();
918 case objects::CArticleId::e_Pubmed:
919 id->SetPubmed(
CPubMedId(NStr::StringToNumeric<TEntrezId>(str_id)));
921 case objects::CArticleId::e_Medline:
923 case objects::CArticleId::e_Doi:
924 id->SetDoi(
CDOI(str_id));
926 case objects::CArticleId::e_Pii:
927 id->SetPii(
CPII(str_id));
929 case objects::CArticleId::e_Pmcid:
930 id->SetPmcid(
CPmcID(NStr::StringToNumeric<TEntrezId>(str_id)));
932 case objects::CArticleId::e_Pmcpid:
933 id->SetPmcpid(
CPmcPid(str_id));
935 case objects::CArticleId::e_Pmpid:
936 id->SetPmpid(
CPmPid(str_id));
938 case objects::CArticleId::e_Other: {
939 string db = CArticleId::C_Attlist::GetTypeInfo_enum_EAttlist_IdType()->
940 FindName(article_id_it->GetAttlist().GetIdType(),
false);
946 id->SetOther(*db_tag);
952 id_set->
Set().push_back(
id);
958 const list<CRef<CELocationID>>* eloc_ids =
nullptr;
966 for (
auto elocation_id_it : *eloc_ids) {
967 string str_eid_type = CELocationID::C_Attlist::GetTypeInfo_enum_EAttlist_EIdType()->
968 FindName(elocation_id_it->GetAttlist().GetEIdType(),
false);
969 string type =
"ELocationID " + str_eid_type;
970 string value = elocation_id_it->GetELocationID();
977 id->SetOther(*db_tag);
978 id_set->
Set().push_back(
id);
988 for (
auto grant_it : grant_list.
GetGrant()) {
990 if (grant_it->IsSetGrantID())
992 if (grant_it->IsSetAcronym())
994 if (grant_it->IsSetAgency() && !grant_it->GetAgency().Get().empty())
998 id_nums.push_back(id2);
1007 pubmed_entry->SetPmid(
CPubMedId(NStr::StringToNumeric<TEntrezId>(
1010 return pubmed_entry;
#define BEGIN_eutils_SCOPE
string s_GetVernacularTitleStr(const CVernacularTitle &vernacular_title)
string s_GetArticleTitleStr(const CArticleTitle &article_title)
static void s_FillPubtypeList(CMedline_entry::TPub_type &pub_types, const CPublicationTypeList &publication_type_list)
static CRef< CImprint > s_GetImprint(const CPubmedArticle &pubmed_article)
static objects::CArticleId::E_Choice s_GetArticleIdTypeId(const CArticleId &article_id)
void s_ForeachToken(container_type &container, check_type f, proc_type proc)
static string utf8_to_string(const string &str)
static int s_GetDatabankTypeId(const string &databank_name)
static bool s_SetCommentCorrection(CRef< CImprint > &imprint, const CCommentsCorrectionsList &comments_corrections, CCitRetract::EType type, const string &ref_type)
static void s_FillGenes(CMedline_entry::TGene &mgenes, const CGeneSymbolList &gene_symbol_list)
static string s_GetInitialsFromForeName(string fore_name)
static int s_GetPublicationStatusId(const string &publication_status)
static bool s_StringToInt(const string &str, int &i)
static CRef< CMedline_entry > s_GetMedlineEntry(const CPubmedArticle &pubmed_article)
bool s_IsValidYN(const CAuthor &auth)
static pubmed_date_t s_GetPubmedDate(const CPubDate &pub_date)
void s_FillGrants(list< string > &id_nums, const CGrantList &grant_list)
static int s_TranslateMonth(const string &month_str)
string s_GetAuthorMedlineName(const CAuthor &author)
static void s_FillChem(CMedline_entry::TSubstance &chems, const CChemicalList &chemical_list)
static CRef< CCit_jour > s_GetJournalCitation(const CPubmedArticle &pubmed_article)
string s_CleanupText(string str)
CRef< CDate > s_GetDateFromPubMedPubDate(const CPubMedPubDate &pdate)
static CRef< CDate > s_GetDateFromArticleDate(const CArticleDate &adate)
static CRef< CCit_art > s_GetCitation(const CPubmedArticle &pubmed_article)
static CRef< CPubMedPubDate > s_FindPubDateStatus(const list< CRef< CPubMedPubDate >> &pubmed_pubdates, CPubMedPubDate::C_Attlist::EAttlist_PubStatus status)
static CRef< CTitle > s_GetJournalTitle(const CPubmedArticle &pubmed_article)
static string s_GetAbstractText(const CAbstract &abstr)
string s_GetPagination(const CPagination &pagination)
CRef< CTitle > s_MakeTitle(const string &title_str, const string &vernacular_title_str)
CRef< CDate > s_GetDateFromPubDate(const CPubDate &pub_date)
CRef< CArticleIdSet > s_GetArticleIdSet(const CArticleIdList &article_id_list, const CArticle *article)
static CRef< CAuth_list > s_GetAuthorList(const CArticle &article)
static void s_FillXref(CMedline_entry::TXref &refs, const CDataBankList &databank_list)
string s_Utf8TextListToString(const list< CRef< TE >> &text_list)
static void s_FillMesh(CMedline_entry::TMesh &mesh, const CMeshHeadingList &mesh_heading_list)
void s_ToLower(StringT &str)
BEGIN_eutils_SCOPE NCBI_USING_NAMESPACE_STD
void s_ToUpper(StringT &str)
User-defined methods of the data storage class.
std::string s_TextListToString(const std::list< ncbi::CRef< TE >> &text_list)
ncbi::CRef< ncbi::objects::CTitle > s_GetTitle(const D &doc)
User-defined methods of the data storage class.
@Affil.hpp User-defined methods of the data storage class.
@Auth_list.hpp User-defined methods of the data storage class.
CPublicationTypeList –.
ncbi::CRef< ncbi::objects::CPubmed_entry > ToPubmed_entry(void) const
static const char si[8][64]
static DLIST_TYPE *DLIST_NAME() first(DLIST_LIST_TYPE *list)
static DLIST_TYPE *DLIST_NAME() next(DLIST_LIST_TYPE *list, DLIST_TYPE *item)
void Reset(void)
Reset reference object.
static EEncoding GuessEncoding(const CTempString &src)
Guess the encoding of the C/C++ string.
static CStringUTF8 AsUTF8(const CTempString &src, EEncoding encoding, EValidate validate=eNoValidate)
Convert into UTF8 from a C/C++ string.
static bool EqualNocase(const CTempString s1, SIZE_TYPE pos, SIZE_TYPE n, const char *s2)
Case-insensitive equality of a substring with another string.
@ fConvErr_NoThrow
Do not throw an exception on error.
static const char label[]
void SetPages(const TPages &value)
Assign a value to Pages data member.
void SetIds(TIds &value)
Assign a value to Ids data member.
void SetTitle(TTitle &value)
Assign a value to Title data member.
void SetRetract(TRetract &value)
Assign a value to Retract data member.
void SetIssue(const TIssue &value)
Assign a value to Issue data member.
void SetFrom(TFrom &value)
Assign a value to From data member.
void SetLanguage(const TLanguage &value)
Assign a value to Language data member.
void SetType(TType value)
Assign a value to Type data member.
void SetAuthors(TAuthors &value)
Assign a value to Authors data member.
TStr & SetStr(void)
Select the variant.
void SetVolume(const TVolume &value)
Assign a value to Volume data member.
void SetNames(TNames &value)
Assign a value to Names data member.
void SetDate(TDate &value)
Assign a value to Date data member.
Tdata & Set(void)
Assign a value to data member.
void SetHistory(THistory &value)
Assign a value to History data member.
void SetPubstatus(TPubstatus value)
Assign a value to Pubstatus data member.
Tdata & Set(void)
Assign a value to data member.
EType
retraction of an entry
void SetExp(const TExp &value)
Assign a value to Exp data member.
Tdata & Set(void)
Assign a value to data member.
@ ePubStatus_pubmed
article citation first appeared in PubMed
@ ePubStatus_accepted
accepted for publication
@ ePubStatus_ppublish
published in print by publisher
@ ePubStatus_premedline
date into PreMedline status
@ ePubStatus_revised
article revised by publisher/author
@ ePubStatus_received
date manuscript received for review
@ ePubStatus_pubmedr
article citation revision in PubMed
@ ePubStatus_aheadofprint
epublish, but will be followed by print
@ ePubStatus_medline
date made a MEDLINE record
@ ePubStatus_epublish
published electronically by publisher
@ ePubStatus_pmc
article first appeared in PubMed Central
@ ePubStatus_pmcr
article revision in PubMed Central
@ eType_retracted
this citation retracted
@ eType_notice
this citation is a retraction notice
@ eType_erratum
this is a published erratum
@ eType_in_error
an erratum was published about this
TMl & SetMl(void)
Select the variant.
void SetSeason(const TSeason &value)
Assign a value to Season data member.
void SetYear(TYear value)
Assign a value to Year data member.
void SetMinute(TMinute value)
Assign a value to Minute data member.
void SetTag(TTag &value)
Assign a value to Tag data member.
void SetHour(THour value)
Assign a value to Hour data member.
void SetMonth(TMonth value)
Assign a value to Month data member.
TStd & SetStd(void)
Select the variant.
void SetDay(TDay value)
Assign a value to Day data member.
TConsortium & SetConsortium(void)
Select the variant.
TStr & SetStr(void)
Select the variant.
void SetSecond(TSecond value)
Assign a value to Second data member.
void SetDb(const TDb &value)
Assign a value to Db data member.
TStr & SetStr(void)
Select the variant.
TGene & SetGene(void)
Assign a value to Gene data member.
void SetEm(TEm &value)
Assign a value to Em data member.
TIdnum & SetIdnum(void)
Assign a value to Idnum data member.
void SetStatus(TStatus value)
Assign a value to Status data member.
void SetCit(TCit &value)
Assign a value to Cit data member.
list< CRef< CMedline_rn > > TSubstance
void SetAbstract(const TAbstract &value)
Assign a value to Abstract data member.
list< CRef< CMedline_si > > TXref
TXref & SetXref(void)
Assign a value to Xref data member.
list< CRef< CMedline_mesh > > TMesh
void SetPmid(const TPmid &value)
Assign a value to Pmid data member.
TPub_type & SetPub_type(void)
Assign a value to Pub_type data member.
TMesh & SetMesh(void)
Assign a value to Mesh data member.
TSubstance & SetSubstance(void)
Assign a value to Substance data member.
@ eStatus_publisher
record as supplied by publisher
@ eStatus_premedline
premedline record
@ eType_carbbank
Carbohydrate Structure Database.
@ eType_psd
Protein Sequence Database (Japan)
@ eType_embl
EMBL Data Library.
@ eType_swissprot
SwissProt.
@ eType_pir
Protein Identification Resource.
@ eType_hdb
Hybridoma Data Bank.
@ eType_hgml
Human Gene Map Library.
@ eType_pdb
Protein Data Bank (Brookhaven)
@ eType_ddbj
DNA Data Bank of Japan.
@ eType_msd
Microbial Strains Database.
@ eType_mim
Mendelian Inheritance in Man.
@ eType_prfseqdb
Protein Research Foundation (Japan)
@ eType_gdb
Genome Data Base.
bool IsCollectiveName(void) const
Check if variant CollectiveName is selected.
TValidYN GetValidYN(void) const
Get the ValidYN member data.
bool IsELocationID(void) const
Check if variant ELocationID is selected.
const TELocationID & GetELocationID(void) const
Get the variant data.
const TAuthorList & GetAuthorList(void) const
Get the AuthorList member data.
const TArticleDate & GetArticleDate(void) const
Get the ArticleDate member data.
const TLanguage & GetLanguage(void) const
Get the Language member data.
TIdType GetIdType(void) const
Get the IdType member data.
const TYM & GetYM(void) const
Get the variant data.
const TPE & GetPE(void) const
Get the variant data.
const TYear & GetYear(void) const
Get the Year member data.
const TMeshHeading & GetMeshHeading(void) const
Get the MeshHeading member data.
const TDay & GetDay(void) const
Get the Day member data.
const TPublicationType & GetPublicationType(void) const
Get the PublicationType member data.
const TMedlineCitation & GetMedlineCitation(void) const
Get the MedlineCitation member data.
const TChemical & GetChemical(void) const
Get the Chemical member data.
bool IsSetVolume(void) const
Check if a value has been assigned to Volume data member.
const THM & GetHM(void) const
Get the HM member data.
TPubModel GetPubModel(void) const
Get the PubModel member data.
const TPubmedData & GetPubmedData(void) const
Get the PubmedData member data.
bool IsSetArticleTitle(void) const
Check if a value has been assigned to ArticleTitle data member.
const Tdata & Get(void) const
Get the member data.
const TMedlinePgn & GetMedlinePgn(void) const
Get the variant data.
const TGrant & GetGrant(void) const
Get the Grant member data.
bool IsLFIS(void) const
Check if variant LFIS is selected.
const TPubDate & GetPubDate(void) const
Get the PubDate member data.
const TArticle & GetArticle(void) const
Get the Article member data.
const TSEM & GetSEM(void) const
Get the variant data.
const TCommentsCorrections & GetCommentsCorrections(void) const
Get the CommentsCorrections member data.
const THistory & GetHistory(void) const
Get the History member data.
bool IsSetAuthorList(void) const
Check if a value has been assigned to AuthorList data member.
const TCommentsCorrectionsList & GetCommentsCorrectionsList(void) const
Get the CommentsCorrectionsList member data.
const TPE_2 & GetPE_2(void) const
Get the PE_2 member data.
bool IsSetCompleteYN(void) const
Check if a value has been assigned to CompleteYN data member.
const TIssue & GetIssue(void) const
Get the Issue member data.
bool IsSetIssue(void) const
Check if a value has been assigned to Issue data member.
const TMonth & GetMonth(void) const
Get the Month member data.
const TCollectiveName & GetCollectiveName(void) const
Get the variant data.
const TAttlist & GetAttlist(void) const
Get the Attlist member data.
const Tdata & Get(void) const
Get the member data.
const TArticleTitle & GetArticleTitle(void) const
Get the ArticleTitle member data.
bool IsSetELocationID(void) const
Check if a value has been assigned to ELocationID data member.
const TLFIS & GetLFIS(void) const
Get the variant data.
const TELocationID & GetELocationID(void) const
Get the ELocationID member data.
const TPubMedPubDate & GetPubMedPubDate(void) const
Get the PubMedPubDate member data.
bool IsSetValidYN(void) const
Check if a value has been assigned to ValidYN data member.
const TGeneSymbol & GetGeneSymbol(void) const
Get the GeneSymbol member data.
const TPublicationStatus & GetPublicationStatus(void) const
Get the PublicationStatus member data.
const Tdata & Get(void) const
Get the member data.
const TMedlinePgn & GetMedlinePgn(void) const
Get the MedlinePgn member data.
const Tdata & Get(void) const
Get the member data.
bool IsYM(void) const
Check if variant YM is selected.
const TMedlineTA & GetMedlineTA(void) const
Get the MedlineTA member data.
const TAttlist & GetAttlist(void) const
Get the Attlist member data.
const TPagination & GetPagination(void) const
Get the Pagination member data.
const TMedlineJournalInfo & GetMedlineJournalInfo(void) const
Get the MedlineJournalInfo member data.
const TJournal & GetJournal(void) const
Get the Journal member data.
bool IsSetCommentsCorrectionsList(void) const
Check if a value has been assigned to CommentsCorrectionsList data member.
const TDataBank & GetDataBank(void) const
Get the DataBank member data.
const TArticleIdList & GetArticleIdList(void) const
Get the ArticleIdList member data.
TCompleteYN GetCompleteYN(void) const
Get the CompleteYN member data.
bool IsSetIdType(void) const
Check if a value has been assigned to IdType data member.
bool IsSetHM(void) const
Check if a value has been assigned to HM data member.
const Tdata & Get(void) const
Get the member data.
const TArticleId & GetArticleId(void) const
Get the ArticleId member data.
const TAuthor & GetAuthor(void) const
Get the Author member data.
const TMonth & GetMonth(void) const
Get the Month member data.
bool IsMedlinePgn(void) const
Check if variant MedlinePgn is selected.
const TVolume & GetVolume(void) const
Get the Volume member data.
bool IsSetHistory(void) const
Check if a value has been assigned to History data member.
const Tdata & Get(void) const
Get the member data.
const TLC & GetLC(void) const
Get the LC member data.
bool IsMedlineDate(void) const
Check if variant MedlineDate is selected.
bool IsSEM(void) const
Check if variant SEM is selected.
const TAttlist & GetAttlist(void) const
Get the Attlist member data.
const TAttlist & GetAttlist(void) const
Get the Attlist member data.
const TDay & GetDay(void) const
Get the Day member data.
const Tdata & Get(void) const
Get the member data.
bool IsPE(void) const
Check if variant PE is selected.
const TMedlineDate & GetMedlineDate(void) const
Get the variant data.
const TAbstractText & GetAbstractText(void) const
Get the AbstractText member data.
const TYear & GetYear(void) const
Get the Year member data.
@ eAttlist_PubStatus_entrez
@ eAttlist_PubStatus_pubmed
@ eAttlist_DateType_Electronic
@ eAttlist_MajorTopicYN_Y
@ eAttlist_MajorTopicYN_Y
@ eAttlist_Status_Publisher
@ eAttlist_Status_MEDLINE
@ eAttlist_Status_Completed
@ eAttlist_Status_OLDMEDLINE
@ eAttlist_IdType_medline
string UTF8ToAsciiString(const char *src, const SUnicodeTranslation *default_translation, const TUnicodeTable *table=NULL, EConversionResult *result=NULL)
Convert UTF8 into ASCII string.
double r(size_t dimension_, const Int4 *score_, const double *prob_, double theta_)
double f(double x_, const double &y_)
CRef< CPub > journal(ParserPtr pp, char *bptr, char *eptr, CRef< CAuth_list > &auth_list, CRef< CTitle::C_E > &title, bool has_muid, CRef< CCit_art > &cit_art, Int4 er)
static const char * str(char *buf, int n)