nih-gov/www.ncbi.nlm.nih.gov/books/NBK564895/index.html?report=printable
2025-03-17 02:05:34 +00:00

108 lines
No EOL
123 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- AppResources meta begin -->
<meta name="paf-app-resources" content="" />
<script type="text/javascript">var ncbi_startTime = new Date();</script>
<!-- AppResources meta end -->
<!-- TemplateResources meta begin -->
<meta name="paf_template" content="" />
<!-- TemplateResources meta end -->
<!-- Logger begin -->
<meta name="ncbi_db" content="books" /><meta name="ncbi_pdid" content="book-part" /><meta name="ncbi_acc" content="NBK564895" /><meta name="ncbi_domain" content="helpeutils" /><meta name="ncbi_report" content="printable" /><meta name="ncbi_type" content="fulltext" /><meta name="ncbi_objectid" content="" /><meta name="ncbi_pcid" content="/NBK564895/?report=printable" /><meta name="ncbi_app" content="bookshelf" />
<!-- Logger end -->
<title>Entrez Direct Release Notes - Entrez Programming Utilities Help - NCBI Bookshelf</title>
<!-- AppResources external_resources begin -->
<link rel="stylesheet" href="/core/jig/1.15.2/css/jig.min.css" /><script type="text/javascript" src="/core/jig/1.15.2/js/jig.min.js"></script>
<!-- AppResources external_resources end -->
<!-- Page meta begin -->
<meta name="robots" content="INDEX,FOLLOW,NOARCHIVE" /><meta name="citation_inbook_title" content="Entrez Programming Utilities Help [Internet]" /><meta name="citation_title" content="Entrez Direct Release Notes" /><meta name="citation_publisher" content="National Center for Biotechnology Information (US)" /><meta name="citation_date" content="2025/03/03" /><meta name="citation_author" content="Jonathan Kans" /><meta name="citation_fulltext_html_url" content="https://www.ncbi.nlm.nih.gov/books/NBK564895/" /><link rel="schema.DC" href="http://purl.org/DC/elements/1.0/" /><meta name="DC.Title" content="Entrez Direct Release Notes" /><meta name="DC.Type" content="Text" /><meta name="DC.Publisher" content="National Center for Biotechnology Information (US)" /><meta name="DC.Contributor" content="Jonathan Kans" /><meta name="DC.Date" content="2025/03/03" /><meta name="DC.Identifier" content="https://www.ncbi.nlm.nih.gov/books/NBK564895/" /><meta name="description" content="EDirect was conceived in 2012, prototyped in Perl, and released to the public in 2014." /><meta name="og:title" content="Entrez Direct Release Notes" /><meta name="og:type" content="book" /><meta name="og:description" content="EDirect was conceived in 2012, prototyped in Perl, and released to the public in 2014." /><meta name="og:url" content="https://www.ncbi.nlm.nih.gov/books/NBK564895/" /><meta name="og:site_name" content="NCBI Bookshelf" /><meta name="og:image" content="https://www.ncbi.nlm.nih.gov/corehtml/pmc/pmcgifs/bookshelf/thumbs/th-helpeutils-lrg.png" /><meta name="twitter:card" content="summary" /><meta name="twitter:site" content="@ncbibooks" /><meta name="bk-non-canon-loc" content="/books/n/helpeutils/release6/" /><link rel="canonical" href="https://www.ncbi.nlm.nih.gov/books/NBK564895/" /><link rel="stylesheet" href="/corehtml/pmc/css/figpopup.css" type="text/css" media="screen" /><link rel="stylesheet" href="/corehtml/pmc/css/bookshelf/2.26/css/books.min.css" type="text/css" /><link rel="stylesheet" href="/corehtml/pmc/css/bookshelf/2.26/css/books_print.min.css" type="text/css" /><style type="text/css">p a.figpopup{display:inline !important} .bk_tt {font-family: monospace} .first-line-outdent .bk_ref {display: inline} </style><script type="text/javascript" src="/corehtml/pmc/js/jquery.hoverIntent.min.js"> </script><script type="text/javascript" src="/corehtml/pmc/js/common.min.js?_=3.18"> </script><script type="text/javascript">window.name="mainwindow";</script><script type="text/javascript" src="/corehtml/pmc/js/bookshelf/2.26/book-toc.min.js"> </script><script type="text/javascript" src="/corehtml/pmc/js/bookshelf/2.26/books.min.js"> </script>
<!-- Page meta end -->
<link rel="shortcut icon" href="//www.ncbi.nlm.nih.gov/favicon.ico" /><meta name="ncbi_phid" content="CE8E70997CA114910000000000D500B0.m_5" />
<meta name='referrer' content='origin-when-cross-origin'/><link type="text/css" rel="stylesheet" href="//static.pubmed.gov/portal/portal3rc.fcgi/4216699/css/3852956/3985586/3808861/4121862/3974050/3917732/251717/4216701/14534/45193/4113719/3849091/3984811/3751656/4033350/3840896/3577051/3852958/3984801/12930/3964959.css" /><link type="text/css" rel="stylesheet" href="//static.pubmed.gov/portal/portal3rc.fcgi/4216699/css/3411343/3882866.css" media="print" /></head>
<body class="book-part">
<div class="grid no_max_width">
<div class="col twelve_col nomargin shadow">
<!-- System messages like service outage or JS required; this is handled by the TemplateResources portlet -->
<div class="sysmessages">
<noscript>
<p class="nojs">
<strong>Warning:</strong>
The NCBI web site requires JavaScript to function.
<a href="/guide/browsers/#enablejs" title="Learn how to enable JavaScript" target="_blank">more...</a>
</p>
</noscript>
</div>
<!--/.sysmessage-->
<div class="wrap">
<div class="page">
<div class="top">
<div class="header">
</div>
<!--<component id="Page" label="headcontent"/>-->
</div>
<div class="content">
<!-- site messages -->
<div class="container content">
<div class="document">
<div class="pre-content"><div><div class="bk_prnt"><p class="small">NCBI Bookshelf. A service of the National Library of Medicine, National Institutes of Health.</p><p>Entrez Programming Utilities Help [Internet]. Bethesda (MD): National Center for Biotechnology Information (US); 2010-. </p></div></div></div>
<div class="main-content lit-style" itemscope="itemscope" itemtype="http://schema.org/CreativeWork"><div class="meta-content fm-sec"><h1 id="_NBK564895_"><span class="title" itemprop="name">Entrez Direct Release Notes</span></h1><p class="contrib-group"><h4>Authors</h4><span itemprop="author">Jonathan Kans</span>, PhD<sup><img src="/corehtml/pmc/pmcgifs/corrauth.gif" alt="corresponding author" /></sup><sup>1</sup>.</p><h4>Affiliations</h4><div class="affiliation"><sup>1</sup> NCBI<div><span class="email-label">Email: </span><a href="mailto:dev@null" data-email="vog.hin.mln.ibcn@snak" class="oemail">vog.hin.mln.ibcn@snak</a></div></div><div><sup><img src="/corehtml/pmc/pmcgifs/corrauth.gif" alt="corresponding author" /></sup>Corresponding author.</div><p class="small">Created: <span itemprop="datePublished">April 23, 2013</span>; Last Update: <span itemprop="dateModified">March 3, 2025</span>.</p><p><em>Estimated reading time: 45 minutes</em></p></div><div class="body-content whole_rhythm" itemprop="text"><p>EDirect was conceived in 2012, prototyped in Perl, and released to the public in 2014.</p><p>Xtract was subsequently rewritten in the compiled Go programming language, for a hundredfold speed improvement on modern multi-processor computers. Transmute and rchive are also provided as platform-specific Go executables.</p><p>A major refactoring, for ease of maintenance and long-term stability, was completed in 2020. EDirect now exists as a set of Unix shell scripts plus the trio of utilities implemented in Go. The original Perl code has been retired.</p><div id="release6.2025"><h2 id="_release6_2025_">2025</h2><div id="release6.Version_23_6_March_3_2025"><h3>Version 23.6: March 3, 2025</h3><p>&#x02022; Recompiled executables with Go 1.24.</p><p>&#x02022; Local PubMed archive indexes Chemical/NameOfSubstance as [SUBS] field.</p><p>&#x02022; Gbf2xml creates /calculated_mol_wt qualifier from CDS /translation sequence.</p><p>&#x02022; Obsolete fetch-*, stream-*, and phrase-search scripts now print deprecation warnings.</p></div><div id="release6.Version_23_5_February_19_2025"><h3>Version 23.5: February 19, 2025</h3><p>&#x02022; Added xinfo, xsearch, xlink, xfilter, and xfetch navigation scripts to replace phrase-search for local archive access.</p><p>&#x02022; Local (xsearch) and remote (esearch) navigation scripts interoperate by using same ENTREZ_DIRECT message.</p><p>&#x02022; Term position indices now use variable byte length encoding to efficiently support PubMed and PMC.</p><p>&#x02022; New environment variable code simplifies configuration of directories used for local archive.</p><p>&#x02022; File referenced by EDIRECT_LOCAL_CONFIG still takes precedence over individual path variables.</p><p>&#x02022; Xfetch can use extensible xfetch.ini configuration file for database-specific arguments (e.g., doctype).</p><p>&#x02022; Added date argument support in local archive for fetching results from delayed SOLR network query.</p><p>&#x02022; Added download-flatfile -ftp and -https flags to select GenBank format download method.</p><p>&#x02022; Added illustrative figures to PDF version of readme documentation file.</p><p>&#x02022; Added "-with -split" and "-transform -translate" examples to readme.pdf.</p><p>&#x02022; Fixed bug when archive scripts checked for new annual release and the source folder was already empty.</p><p>&#x02022; Fixed -mindate integer conversion typo added during move to separate ecollect process.</p><p>&#x02022; Corrected error message that reports use of internal -retmax argument.</p><p>&#x02022; Removed references to retired popset database.</p></div><div id="release6.Version_23_4_January_3_2025"><h3>Version 23.4: January 3, 2025</h3><p>&#x02022; Xtract subrange uses 32-bit Unicode to avoid cutting in middle of multi-byte UTF-8 character.</p><p>&#x02022; Xtract exploration argument now accepts ampersand-prefixed variables (undocumented).</p></div></div><div id="release6.2024"><h2 id="_release6_2024_">2024</h2><div id="release6.Version_23_3_December_23_2024"><h3>Version 23.3: December 23, 2024</h3><p>&#x02022; Filter-record adds -min and -max arguments to isolate records by position without parsing.</p><p>&#x02022; Fixed bug parsing XML comment in PMC that starts with right angle bracket.</p></div><div id="release6.Version_23_2_December_18_2024"><h3>Version 23.2: December 18, 2024</h3><p>&#x02022; Efetch sequence retrieval supports "-format asn" and "-mode binary" arguments.</p><p>&#x02022; Esearch sorts and uniques ErrorList elements to suppress multiple PhraseNotFound warnings.</p><p>&#x02022; Transmute -outline accepts an optional integer argument for the maximum depth to show.</p><p>&#x02022; Added Interactions Table example to Gene section of Additional Examples document.</p></div><div id="release6.Version_23_1_November_20_2024"><h3>Version 23.1: November 20, 2024</h3><p>&#x02022; Ecollect helper script retrieves current UIDs in separate process to avoid internal state conflicts.</p><p>&#x02022; Efilter after esearch in PubMed adjusts &#x0003c;Query&#x0003e; or date values in ENTREZ_DIRECT message.</p><p>&#x02022; Elink into history splits input into chunks, but now truncates each chunk to avoid backend server overflow, while still sampling from the full range of input IDs. Keeping results in history allows efficient modification by efilter.</p><p>&#x02022; Added elink -cmd uid to process in small chunks without truncation and return a comprehensive list of link UIDs. Subsequent filtering of results can be done outside of history with the intersect-uid-lists script.</p><p>&#x02022; Added EDIRECT_NO_RETRY and EDIRECT_NO_ERRORS environment variables.</p><p>&#x02022; Test-eutils -alive runs one elink query 10 times to look for failing servers.</p><p>&#x02022; Combining Independent Queries example uses intersect-uid-lists instead of history '#' convention.</p></div><div id="release6.Version_23_0_October_28_2024"><h3>Version 23.0: October 28, 2024</h3><p>&#x02022; Elink SOLR workaround uses history for results if target is not PubMed, even if linking from PubMed.</p><p>&#x02022; Gbf2xml now recognizes qualifier continuation lines that start with an unexpected slash character.</p><p>&#x02022; Gbf2info wraps qualifiers in a tag based on the feature key for easy selection by type.</p><p>&#x02022; Fetch-pubmed restores -turbo functionality by passing "$@" arguments to common fetch-local script.</p></div><div id="release6.Version_22_9_October_21_2024"><h3>Version 22.9: October 21, 2024</h3><p>&#x02022; Added retry and verify steps to improve download-flatfile script reliability.</p><p>&#x02022; Gbf2xml gains 3-fold speed improvement on release files with multithreading.</p><p>&#x02022; Archive-pubmed indexes "Bad Reference [PROP]" if citation PMID is longer than 8 digits.</p><p>&#x02022; Run "export EDIRECT_TRACE=true" to enable "set -x" tracing.</p><p>&#x02022; All composite literals in code are now created with explicit field keys.</p><p>&#x02022; Rearranged structure field order to minimize allocated object size.</p></div><div id="release6.Version_22_8_October_10_2024"><h3>Version 22.8: October 10, 2024</h3><p>&#x02022; Lowered efetch retrieval chunk size for -db sra and -format runinfo.</p><p>&#x02022; Xtract adds -consists-of {string of allowed characters} conditional test.</p><p>&#x02022; Archive-pubmed indexes "Suspicious Date [PROP]" if MedlineDate resembles split PMID.</p><p>&#x02022; Xtract -year "PubDate/*" ignores MedlineDate artifact.</p><p>&#x02022; Rchive -join leaves fusion of adjacent inverted records with same identifier to subsequent -merge step.</p><p>&#x02022; Archive scripts -erase flag controls deletion of Extras directory contents.</p><p>&#x02022; Renamed archive-ncbinlp to archive-nlmnlp due to internal reorganization.</p><p>&#x02022; Additional identifiers recognized by xml2fsa and xml2tbl for patent submissions.</p><p>&#x02022; Added download-flatfile variant of download-sequence script.</p></div><div id="release6.Version_22_7_September_30_2024"><h3>Version 22.7: September 30, 2024</h3><p>&#x02022; Efilter places parentheses around -query argument clause to "AND" with history key.</p><p>&#x02022; Efilter detects an empty list piped in from a previous step and exits without an error message.</p><p>&#x02022; Xtract -bkt shortcut wraps data in parsable FASTA defline bracketed fields.</p><p>&#x02022; Added gbf2facds script to generate fasta_cds_na and fasta_cds_aa formats from GenBank files.</p><p>&#x02022; Updated list of Unicode spaces for HasBadSpace and CleanupBadSpaces functions.</p><p>&#x02022; Xtract -mask sets objects to exclude from printing with -element "*" (undocumented).</p><p>&#x02022; PMCInfo generator excises table and formula contents, and normalizes Unicode space characters.</p></div><div id="release6.Version_22_6_September_12_2024"><h3>Version 22.6: September 12, 2024</h3><p>&#x02022; Updated URL for efetch -format bioc with -db pubmed or -db pmc.</p><p>&#x02022; ASN.1 to XML conversion removes non-printing characters.</p><p>&#x02022; Refactored local archive incremental inversion for faster performance.</p><p>&#x02022; Internal join step collects incremental inversions for final merging.</p><p>&#x02022; Added archive-pids to support phrase-search -link PMCID after archive-pubmed.</p></div><div id="release6.Version_22_5_August_29_2024"><h3>Version 22.5: August 29, 2024</h3><p>&#x02022; Elink creates new web environment to avoid history overflow.</p><p>&#x02022; Improved speed of accession to integer identifier conversion.</p><p>&#x02022; Recompiled executables with Go 1.23.</p><p>&#x02022; Updated go.mod and go.sum module files for Go executables.</p><p>&#x02022; Adopted new range-over-function style in incremental for-loops.</p><p>&#x02022; Transitioned from sort.Slice to slices.Sort family for simpler code.</p><p>&#x02022; Using maps.Keys iterator as input for slices.Sorted.</p><p>&#x02022; Term sort logic moved to CompareAlphaOrNumericKeys function.</p></div><div id="release6.Version_22_4_July_17_2024"><h3>Version 22.4: July 17, 2024</h3><p>&#x02022; Efetch -db nuccore -format docsum now works on VDB accessions.</p><p>&#x02022; Elink adjusts batch size to remain within history element limits.</p></div><div id="release6.Version_22_3_July_1_2024"><h3>Version 22.3: July 1, 2024</h3><p>&#x02022; Elink record count bug fixed in code for the SOLR workaround.</p><p>&#x02022; Updated go.mod and go.sum module files for Go executables.</p><p>&#x02022; Local archive-ncbinlp and archive-nihocc builds now require local Go compiler.</p></div><div id="release6.Version_22_2_June_24_2024"><h3>Version 22.2: June 24, 2024</h3><p>&#x02022; Efilter supports both -country and -geo_loc_name shortcuts.</p><p>&#x02022; Xtract -insd accepts country and geo_loc_name arguments.</p></div><div id="release6.Version_22_1_May_13_2024"><h3>Version 22.1: May 13, 2024</h3><p>&#x02022; Xtract and transmute high-level functions remove leading Byte Order Marks.</p><p>&#x02022; Transmute -bom removes Byte Order Mark at the beginning of strings.</p><p>&#x02022; Phrase-search -match returns all UIDs that are matched more than once.</p><p>&#x02022; Replaced just-first-key script with just-top-hits plus numeric argument.</p></div><div id="release6.Version_22_0_April_30_2024"><h3>Version 22.0: April 30, 2024</h3><p>&#x02022; Recompiled executables with Go 1.22.</p><p>&#x02022; Restored ability to use -len with "*" to get length of XML record.</p><p>&#x02022; Added SIZE index to archive-pubmed and archive-pmc.</p></div><div id="release6.Version_21_9_April_16_2024"><h3>Version 21.9: April 16, 2024</h3><p>&#x02022; Added support for 64-bit Linux-aarch64 variant of 32-bit Linux-*arm*.</p><p>&#x02022; Consolidated extraction customization arguments into a structure.</p></div><div id="release6.Version_21_8_April_4_2024"><h3>Version 21.8: April 4, 2024</h3><p>&#x02022; Xtract -split takes substring delimiter from -with argument.</p><p>&#x02022; Xtract -cds2prot adds explicit -frame0 and -frame1 to default (1-based) -frame.</p><p>&#x02022; Transmute -cds2prot uses -gcode for consistency with xtract -cds2prot.</p><p>&#x02022; Transmute -replace also adds explicit -offset0 and -offset1 to default (0-based) -offset.</p><p>&#x02022; Transmute -r2p verify does full lookup if original PMID is in "erratum for", etc., exclusion list.</p><p>&#x02022; Improved phrase-search logic for recognizing parentheses inside chemical names.</p><p>&#x02022; Archive-pubmed and archive-pmc add -info flag to check for out-of-date release files.</p></div><div id="release6.Version_21_7_March_21_2024"><h3>Version 21.7: March 21, 2024</h3><p>&#x02022; Xtract -molwt variants -molwt-m and -molwt-f retain the initial methionine or fMet.</p><p>&#x02022; Xtract -pkg exploration idiosyncracy is now bypassed internally.</p><p>&#x02022; Added bsmp2info for easier extraction of BioSample data.</p><p>&#x02022; Experimental gbf2info script is alternative to xtract -insdx flatfile field extraction.</p><p>&#x02022; New systematic-mutations script can follow disambiguate-nucleotides.</p><p>&#x02022; Archive-pubmed warns if release files for previous years are present.</p><p>&#x02022; Added indexed DOI field to local PubMed archive, with mirror-image terms.</p><p>&#x02022; Phrase-search reverses order of characters in query term for DOI field.</p><p>&#x02022; Phrase-search recognizes and skips parentheses inside chemical names.</p><p>&#x02022; Jaccard test for best citation match candidate no longer removes stop words.</p><p>&#x02022; Citation matcher excludes records marked "erratum for", "retraction in", etc.</p></div><div id="release6.Version_21_6_March_5_2024"><h3>Version 21.6: March 5, 2024</h3><p>&#x02022; Navigation command -help functions report if new version of EDirect is available.</p></div><div id="release6.Version_21_5_February_20_2024"><h3>Version 21.5: February 20, 2024</h3><p>&#x02022; Added multi-step transformations and sequence analysis sections to readme.pdf.</p><p>&#x02022; Xtract checks for commands starting with a Unicode dash instead of an ASCII hyphen.</p><p>&#x02022; Xtract -insdx convenience function wraps -insd table in XML.</p><p>&#x02022; Transmute -fasta reformats sequences into fixed-width lines.</p></div><div id="release6.Version_21_4_February_12_2024"><h3>Version 21.4: February 12, 2024</h3><p>&#x02022; Xtract variables can now record the result of an -element variant on an object.</p><p>&#x02022; Xtract -numeric only accepts items that are entirely digits.</p><p>&#x02022; Xtract -avg joined by -geo, -hrm, and -rms integer mean functions.</p><p>&#x02022; Documented xtract -lge, lg2, and -log integer logarithm functions.</p><p>&#x02022; Xtract -med for even-sized lists now uses the average of the middle elements.</p><p>&#x02022; Preferred environment variable name is EDIRECT_LOCAL_ARCHIVE.</p><p>&#x02022; New BioSample section added to the Additional Examples web page.</p></div><div id="release6.Version_21_3_January_29_2024"><h3>Version 21.3: January 29, 2024</h3><p>&#x02022; Nquire accepts leading -http-version, -content-type, and -user-agent arguments.</p><p>&#x02022; Nquire -datasets implements GET queries using RESTful arguments.</p><p>&#x02022; Added jsonl2xml script to convert JSON Lines output from NCBI Datasets.</p><p>&#x02022; Added refseq-nm-cds to consolidate and replace earlier scripts.</p><p>&#x02022; Use align-columns -a "w" to report widths of each column.</p><p>&#x02022; Increased tbl2xml buffer size to handle titin protein and cDNA sequences.</p><p>&#x02022; Removed retired homologene database from test files.</p></div><div id="release6.Version_21_2_January_17_2024"><h3>Version 21.2: January 17, 2024</h3><p>&#x02022; Phrase-search -terms and -totals now implemented in compiled code.</p><p>&#x02022; Local archive positional indices no longer treat integers as stop words.</p><p>&#x02022; Navigation commands now map -db nucleotide, which has no links, to nuccore.</p><p>&#x02022; Nquire -citmatch shortcut extracts matching PMID from JSON result.</p></div></div><div id="release6.2023"><h2 id="_release6_2023_">2023</h2><div id="release6.Version_21_1_December_27_2023"><h3>Version 21.1: December 27, 2023</h3><p>&#x02022; New -zap argument in archive-pubmed and archive-pmc removes ALL files.</p><p>&#x02022; Added refseq-nm-subseq to extract coding region sequences from FTP release files.</p><p>&#x02022; Added refseq-nm-starts to get CDS offsets needed by hgvs2spdi in advance.</p></div><div id="release6.Version_21_0_December_20_2023"><h3>Version 21.0: December 20, 2023</h3><p>&#x02022; Archive-pubmed time delay increases before each failed download retry attempt.</p></div><div id="release6.Version_20_9_December_6_2023"><h3>Version 20.9: December 6, 2023</h3><p>&#x02022; Archive-pubmed no longer needs year of MeSH and journal data files.</p><p>&#x02022; Transmute -cds2prot -all adds -orf flag, with capital letters marking start codon products.</p><p>&#x02022; Transmute -gbf extended with -accession(s), -taxid(s), and -organism filter arguments.</p><p>&#x02022; Transmute -gbf includes -require and -exclude arguments to filter based on string value.</p><p>&#x02022; Transmute -txf uses -pattern to identify start of text record for filtering.</p><p>&#x02022; Added filter-genbank and filter-record shortcut scripts for transmute -gbf and -tfx.</p><p>&#x02022; Esearch recognizes -geo_loc_name, which will replace the -country shortcut.</p><p>&#x02022; Phrase-search -match queries individual terms and sorts by number of hits.</p><p>&#x02022; Added just-first-key script to return lines where first column matches value in first row.</p><p>&#x02022; Added indexed KYWD field to local PubMed archive.</p><p>&#x02022; Added -even and -odd element variants to xtract.</p><p>&#x02022; Renamed Clean functions to Normalize, to avoid confusion with Cleanup methods.</p><p>&#x02022; Removed code for indexing retired Global Network of Biomedical Relationships project.</p></div><div id="release6.Version_20_8_November_13_2023"><h3>Version 20.8: November 13, 2023</h3><p>&#x02022; Continued refactoring to allow extension of local archive without modifying base source code.</p><p>&#x02022; Code for downloading original records from network now contained in each archive script.</p><p>&#x02022; Xtract instructions for indexing local records also reside within archive scripts.</p><p>&#x02022; NCBI NLP terms and NIH OCC links are indexed by Go language source code "scripts".</p><p>&#x02022; Archive scripts use "go run" to dynamically compile and execute the stand-alone Go programs.</p><p>&#x02022; Large Unicode-to-ASCII mapping files moved to data subfolder.</p></div><div id="release6.Version_20_7_November_6_2023"><h3>Version 20.7: November 6, 2023</h3><p>&#x02022; Refactored local archive creation scripts for ease of future expansion.</p><p>&#x02022; Split archive-ncbinlp and archive-nihocc out of archive-pubmed script.</p><p>&#x02022; Added idx-grant helper script for custom-index.</p></div><div id="release6.Version_20_6_October_20_2023"><h3>Version 20.6: October 20, 2023</h3><p>&#x02022; EDirect suppresses "root" email name to compensate for server issue.</p><p>&#x02022; Nquire clears bold red text highlights after reporting file download failure.</p><p>&#x02022; Xtract -insd recognizes geo_loc_name source qualifier, which will replace country.</p><p>&#x02022; New mask argument in eutils.VisitElements blocks recursive exploration.</p><p>&#x02022; Inverted index subdirectory groups now controlled by argument.</p><p>&#x02022; Added StringToXML function to consolidate common logic for several format converters.</p><p>&#x02022; Refactored fetch-local and stream-local to simplify record retrieval code.</p></div><div id="release6.Version_20_5_September_27_2023"><h3>Version 20.5: September 27, 2023</h3><p>&#x02022; Transmute -f2x wraps FASTA stream in simple XML.</p><p>&#x02022; Transmute -cds2prot adds -max for FASTA line length, and -all for six-frame translation.</p><p>&#x02022; Xtract -gcode and -frame values used by -cds2prot protein translation.</p><p>&#x02022; Xtract -pept splits amino acid runs at *, -, x, or X.</p><p>&#x02022; Changed baseToIdx from map to array to speed up translation time.</p></div><div id="release6.Version_20_4_September_15_2023"><h3>Version 20.4: September 15, 2023</h3><p>&#x02022; Improved xtract internal conversion speed of JSON, ASN.1, and GenBank formats.</p><p>&#x02022; Efetch -db pubmed regains ability to use -format asn.1.</p><p>&#x02022; Phrase-search -debug prints environment variables, tests PubMed record fetch.</p><p>&#x02022; Added toml2xml script to parse TOML configuration file contents into XML.</p><p>&#x02022; All genetic code translation tables are precomputed in gdata.go source file.</p></div><div id="release6.Version_20_3_September_6_2023"><h3>Version 20.3: September 6, 2023</h3><p>&#x02022; Navigation functions print warning for unrecognized argument as well as unrecognized option.</p><p>&#x02022; Xtract -indexer uses -wrp value as field name for positional indices.</p><p>&#x02022; Xtract -indexer supersedes earlier field-specific positional indexing functions.</p><p>&#x02022; Xtract -pentamers generates 5-letter overlapping sequence segments.</p><p>&#x02022; Local archive 16-bit position values are now unsigned to contain longest protein sequence.</p></div><div id="release6.Version_20_2_August_22_2023"><h3>Version 20.2: August 22, 2023</h3><p>&#x02022; Recompiled executables with Go 1.21.</p><p>&#x02022; Reverted archive-pubmed and archive-taxonomy to use FTP by default.</p><p>&#x02022; Added archive-pubmed -stem flag to optionally populate the STEM indexed field.</p><p>&#x02022; Xtract -journal improves journal title capitalization for APA converter.</p><p>&#x02022; Xtract "[^]" element construct handles truncation guide strings with vertical bars.</p><p>&#x02022; Added yaml2xml script to parse YAML configuration file contents into XML.</p><p>&#x02022; Added YR (year) and DT (date) variables to print-columns and filter-columns scripts.</p></div><div id="release6.Version_20_1_July_31_2023"><h3>Version 20.1: July 31, 2023</h3><p>&#x02022; Refactored ERROR and WARNING messages to consolidate highlighting code.</p></div><div id="release6.Version_20_0_July_17_2023"><h3>Version 20.0: July 17, 2023</h3><p>&#x02022; EDirect navigation shell scripts now use bash interpreter instead of sh, since SOLR workaround needs bash "local" variables in recursive function.</p><p>&#x02022; Archive-pmc adds -https and -ftp download flags, default reverted to FTP (Aspera Connect, if present).</p><p>&#x02022; Common PMC archive wrappers for TEXT include TITLE, ABSTRACT, INTRODUCTION, MATERIALS, METHODS, RESULTS, DISCUSSION, and CONCLUSION, with PARAGRAPH for unrecognized.</p><p>&#x02022; Select abstract paragraphs with xtract -pattern PMCInfo -sep "\n" -element ABSTRACT/TEXT.</p></div><div id="release6.Version_19_9_June_30_2023"><h3>Version 19.9: June 30, 2023</h3><p>&#x02022; Esearch -db pubmed with both -query and -mindate/-maxdate works with SOLR server.</p><p>&#x02022; Efetch -db gene -format xml retrieves in chunks of 200 to avoid server errors.</p><p>&#x02022; Nquire on Cygwin uses wget by default, otherwise prefers curl.</p></div><div id="release6.Version_19_8_June_12_2023"><h3>Version 19.8: June 12, 2023</h3><p>&#x02022; Local archive scripts for pubmed, pmc, and taxonomy use HTTPS by default.</p><p>&#x02022; Archive first tries EDIRECT_LOCAL_CONFIG environment variable to find INI file.</p><p>&#x02022; Phrase-search author queries automatically apply appropriate wildcard truncation.</p><p>&#x02022; Disable middle initial expansion with a dash, e.g., "Jefferson T- [AUTH]".</p></div><div id="release6.Version_19_7_May_31_2023"><h3>Version 19.7: May 31, 2023</h3><p>&#x02022; New environment variables (EDIRECT_LOCAL_MASTER and EDIRECT_LOCAL_WORKING) point to common volumes with pubmed, pmc, and taxonomy subfolders, superseding database-specific variables.</p><p>&#x02022; Archive-pubmed PDAT field replaced by DATE, has better consistency with older records.</p><p>&#x02022; Added ini2xml script to parse INI configuration file contents into XML.</p></div><div id="release6.Version_19_6_May_25_2023"><h3>Version 19.6: May 25, 2023</h3><p>&#x02022; Switched archive-pmc script to use PMC bulk retrieval service with daily updates.</p><p>&#x02022; PMC title, abstract, and regular text paragraphs are indexed in PMCInfo object.</p></div><div id="release6.Version_19_5_May_8_2023"><h3>Version 19.5: May 8, 2023</h3><p>&#x02022; Database is case-insensitive to prevent -db PMC, SNP, or SRA from bypassing normalization.</p></div><div id="release6.Version_19_4_April_24_2023"><h3>Version 19.4: April 24, 2023</h3><p>&#x02022; Added archive-taxonomy to build local index of NCBI taxonomy data.</p><p>&#x02022; Integrates data from new_taxdump.tar.gz release and introduces new TaxonInfo record.</p><p>&#x02022; Initial taxoninfo.xml product can also be analyzed by xtract.</p><p>&#x02022; Still need to import files containing type material and biological host information.</p><p>&#x02022; Use phrase-search -db taxonomy for queries, fetch-taxonomy to retrieve records.</p><p>&#x02022; Added fetch-local, which takes a -db argument, to start reversing script proliferation.</p></div><div id="release6.Version_19_3_April_17_2023"><h3>Version 19.3: April 17, 2023</h3><p>&#x02022; XML parsing tolerates &#x0003c;? processing instructions ?&#x0003e; with embedded HTML error messages.</p><p>&#x02022; Xtract -tag, -att, -atr, -cls, -slf, and -end commands added for stepwise attribute construction.</p><p>&#x02022; Xtract -tag sets internal -wrp flag to reencode angle brackets and ampersands in new XML.</p><p>&#x02022; Xtract exploration on "*" searches inside current object without needing to be given its name.</p><p>&#x02022; Raised default maximum nesting depth of xtract -verify to allow complex MathML markup in PMC.</p><p>&#x02022; Added xtract -verify -max argument to control reporting depth threshold.</p><p>&#x02022; Xtract -test reports visible Combining Accent strings and invisible Unicode characters.</p><p>&#x02022; Idx-errors helper for custom-index adds ERRS field for records with problematic characters.</p><p>&#x02022; Added pma2apa script to convert PubmedArticle XML to APA format.</p><p>&#x02022; Updated download-ncbi-software -datasets URL address to v2.</p><p>&#x02022; For Apple Silicon, install-edirect.sh script also retrieves Darwin (x86) executables.</p><p>&#x02022; Installation script will place new edirect folder at head of PATH, to bypass any older version.</p><p>&#x02022; Installation command and installation script use HTTPS instead of FTP.</p></div><div id="release6.Version_19_2_March_23_2023"><h3>Version 19.2: March 23, 2023</h3><p>&#x02022; Xtract -insd accepts GO_component, GO_function, and GO_process qualifiers.</p></div><div id="release6.Version_19_1_March_16_2023"><h3>Version 19.1: March 16, 2023</h3><p>&#x02022; Esearch -db pubmed saves &#x0003c;Query&#x0003e; item in ENTREZ_DIRECT message even for small result counts.</p><p>&#x02022; The -quick argument reverses this, forcing use of history mechanism regardless of SOLR truncation.</p><p>&#x02022; Elink performs additional -target and -related argument reality checks.</p><p>&#x02022; Xtract detects multiple -if or -unless conditional arguments in same exploration block.</p></div><div id="release6.Version_19_0_February_16_2023"><h3>Version 19.0: February 16, 2023</h3><p>&#x02022; SOLR workaround uses "all [SB] NOT pubmed books [SB]" to avoid sorting artifact.</p><p>&#x02022; Esearch -query removes apostrophes in text before processing.</p><p>&#x02022; Xtract -unit PubDate -date "*" works with document summaries.</p></div><div id="release6.Version_18_9_February_12_2023"><h3>Version 18.9: February 12, 2023</h3><p>&#x02022; Maximum PMID determination for SOLR workaround compensates for "all [SB]" sorting artifact.</p><p>&#x02022; Archive-pubmed -https -index downloads extra data files without use of ftp protocol.</p><p>&#x02022; Archive-pubmed adds initial support for zero-padded UID index.</p></div><div id="release6.Version_18_8_January_27_2023"><h3>Version 18.8: January 27, 2023</h3><p>&#x02022; SOLR workaround uses binary search on PMID range instead of sliding CRDT window.</p><p>&#x02022; Local PubMed archive adds "conflict of interest statement" to PROP field.</p><p>&#x02022; Moved PublicationType out of PROP and into new PTYP field.</p><p>&#x02022; Added RDAT field for DateRevised in local archive.</p><p>&#x02022; New archive-pubmed -ftp and -https flags select release file download method.</p><p>&#x02022; Added JOUR and SRC fields to archive-pmc for journal capture.</p><p>&#x02022; Esearch -tranquil suppresses "No items found" error, skips automatic retries.</p><p>&#x02022; Xtract -sort expanded to -sort-fwd and -sort-rev variants.</p><p>&#x02022; Xtract -initials parses initials from first and middle names.</p></div><div id="release6.Version_18_7_January_4_2023"><h3>Version 18.7: January 4, 2023</h3><p>&#x02022; Xtract -unit PubDate -date "*" construct returns date in YYYY/MM/DD format.</p><p>&#x02022; Local PubMed archive adds PDAT index for wildcard searching on publication date.</p><p>&#x02022; Added archive-pmc and fetch-pmc scripts for initial support of local PMC archive.</p><p>&#x02022; Phrase-search -db pmc selects use of local PMC search index.</p><p>&#x02022; PMC indexes positional TITL, ABST, and TEXT fields, plus AUTH and YEAR.</p></div></div><div id="release6.2022"><h2 id="_release6_2022_">2022</h2><div id="release6.Version_18_6_December_20_2022"><h3>Version 18.6: December 20, 2022</h3><p>&#x02022; Refactored local archive incremental indexing, reusing existing XML multi-threaded processing components for simpler code and faster performance.</p></div><div id="release6.Version_18_5_December_12_2022"><h3>Version 18.5: December 12, 2022</h3><p>&#x02022; EUtils queries check XML results for messages packaged in WarningList.</p><p>&#x02022; Epost prints XML result on failure to combine loaded components.</p><p>&#x02022; Esearch no longer re-encodes double quote to &#x00026;quot; with SOLR server.</p><p>&#x02022; Archive-pubmed relocates Sentinels directory inside Archive folder.</p><p>&#x02022; Download-pubmed adds a second retry attempt, reports failure.</p><p>&#x02022; Erase and repopulate local archive now that 2023 PubMed is released.</p></div><div id="release6.Version_18_4_December_5_2022"><h3>Version 18.4: December 5, 2022</h3><p>&#x02022; Warning printed if expected and actual counts from SOLR backend disagree.</p><p>&#x02022; Added -verbose flag to show details of SOLR truncation workaround.</p><p>&#x02022; Elink -cited and -cites instantiate results in message due to epost issue.</p><p>&#x02022; Phrase-search -link CITED and CITES logic improved for faster lookup.</p></div><div id="release6.Version_18_3_December_2_2022"><h3>Version 18.3: December 2, 2022</h3><p>&#x02022; Renamed recent colliding variable in SOLR truncation limit workaround code.</p><p>&#x02022; Changed SOLR code to work with Debian and Ubuntu shell variants.</p><p>&#x02022; Local links fields now index zero-padded PMIDs to prepare for speed improvement.</p><p>&#x02022; Download-ncbi-data retrieves 2023 release of MeSH files.</p></div><div id="release6.Version_18_2_November_23_2022"><h3>Version 18.2: November 23, 2022</h3><p>&#x02022; Code modified to support newly-deployed SOLR backend for PubMed database.</p><p>&#x02022; Added -quick flag to esearch, elink, and efetch to override truncation limit workaround.</p><p>&#x02022; Added -chunk argument to elink and efetch to control internal batch size.</p><p>&#x02022; Nquire -len returns Content-Length of HTTP file without downloading.</p><p>&#x02022; Xtract -prose removes HTML decorations and converts newlines to spaces in PMC paragraphs.</p><p>&#x02022; Xtract -sort now handles unsigned real numbers with a decimal point.</p><p>&#x02022; Archive-pubmed -nihocc adds CITED and CITES link fields, from NIH Open Citation Collection data.</p><p>&#x02022; Phrase-search -link CITED or CITES looks up links for a set of PMIDs sent through stdin.</p><p>&#x02022; Archive-pubmed -scrub now removes all -extras and -nihocc postings.</p></div><div id="release6.Version_18_1_October_21_2022"><h3>Version 18.1: October 21, 2022</h3><p>&#x02022; Archive-pubmed -extras GENE indexing adds PREF (preferred gene name), GSYN (gene synonym), and GRIF (gene reference-into-function) fields.</p><p>&#x02022; Ref2pmid -options test uses citmatch service without requiring local archive.</p></div><div id="release6.Version_18_0_October_12_2022"><h3>Version 18.0: October 12, 2022</h3><p>&#x02022; Efetch -chunk overrides number of records to retrieve in each network request.</p><p>&#x02022; Gbf2ref script can read EMBL/UniProt format in addition to GenBank/GenPept.</p><p>&#x02022; Gbf2ref populates ATHR field with string of all authors in citation.</p><p>&#x02022; Ref2pmid -options "verify" first determines if existing PMID in citation is correct.</p><p>&#x02022; Ref2pmid -options "remote" calls citmatch service if local algorithm failed to find an unambiguous match.</p><p>&#x02022; Use ref2pmid -options "strict,remote,verify" for best citation matching accuracy and performance.</p><p>&#x02022; Edict server preload -file reads precomputed ref2pmid results, for use by nquire -edict match -citation.</p><p>&#x02022; Xtract -jour calls CleanJournal to handle encoded ampersands and apostrophes.</p><p>&#x02022; Download-ncbi-data -journals uses xtract -jour for better journal title cleanup.</p></div><div id="release6.Version_17_9_September_20_2022"><h3>Version 17.9: September 20, 2022</h3><p>&#x02022; Consolidated local archive cache maintenance functions.</p><p>&#x02022; Moved first-level inverted index cache files out of Archive directory.</p><p>&#x02022; Moved PubMed sentinel files to a new Sentinels directory.</p><p>&#x02022; Above changes will make it feasible to have separate "live" and "next" copies of local archive files, eliminating nightly down-time if a 2 TB solid-state drive is available.</p></div><div id="release6.Version_17_8_September_6_2022"><h3>Version 17.8: September 6, 2022</h3><p>&#x02022; Refactored XML parser improves speed of "parent / star" processing.</p><p>&#x02022; Restored proper archiving order for adjacent versions of the same publication.</p><p>&#x02022; Adjusted code for downloading desc2022.xml MeSH descriptor file.</p></div><div id="release6.Version_17_7_August_29_2022"><h3>Version 17.7: August 29, 2022</h3><p>&#x02022; Citation matcher maps journal to standard name, checks for unresolvable ambiguity.</p><p>&#x02022; Xtract -wrp delays reencoding if -replace, allowing -rep " &#x00026; " instead of -rep " &#x00026;amp; ".</p></div><div id="release6.Version_17_6_August_15_2022"><h3>Version 17.6: August 15, 2022</h3><p>&#x02022; Recompiled with Go 1.19 for faster execution on all processors.</p><p>&#x02022; Download-ncbi-data "journals" choice generates journal title lookup files with and without a leading article, allowing both "Journal of Immunology" and "The Journal of Immunology" to match the expected "J Immunol" record regardless of original cataloging.</p><p>&#x02022; Similar ampersand expansion (of encoded " &#x00026; " to " and ") is done for journal title lookup keys, but not for the local archive JOUR index, so that it matches the current term list convention in PubMed.</p><p>&#x02022; Precomputed journal tables attempt to resolve ambiguous name or alias collisions by favoring journals that are currently indexed in MEDLINE. This removes two competing entries with "Journal of Immunology" aliases.</p><p>&#x02022; Journal sets file includes multiple choices for 2671 abbreviations that cannot be resolved automatically, separated by vertical bars, so "dmj" maps to "Danish medical journal | Diabetes &#x00026; metabolism journal".</p><p>&#x02022; Edict.go server adds support for remote journal title queries.</p><p>&#x02022; Local archive citation matcher caches most recent unique query results to avoid repeatedly recalculating the same reference on all components of a pop/phy/mut/eco set.</p><p>&#x02022; Xtract -reg and -exp, regular expression patterns for -replace, now protected by mutex.</p><p>&#x02022; Xtract -aliases reads mapping file to support -classify argument, which uses multiple whole word or phrase substring matching to populate custom Entrez indices.</p><p>&#x02022; Deprecated index-pubmed script now just calls archive-pubmed -index.</p><p>&#x02022; Custom-index runs collect and expand steps, previously performed by index-pubmed.</p><p>&#x02022; Added idx-affil custom indexing helper script for affiliation experiments.</p><p>&#x02022; Added idx-journals to index Journal/Title in JRNL field, skipping the ISOAbbreviation, ISSN, ISSNLinking, MedlineTA, and NlmUniqueID elements also indexed in JOUR field.</p><p>&#x02022; Transmute -gbf uses file of accessions for filtering a GenBank flatfile stream.</p><p>&#x02022; Speed of the (rate-limiting) -gbf flatfile partitioning step (using an uncompressed GenBank release file on a dedicated machine) was just under 40,000 records per second. This is sufficient to support the possibility of applying the local PubMed archive approach to the orders-of-magnitude larger set of sequence records.</p><p>&#x02022; Fixed bug in RepairUnicodeMarkup that produced unbalanced symbols when runs of Unicode superscripts or subscripts were immediately followed by another type of non-ASCII character, such as a Greek letter.</p></div><div id="release6.Version_17_5_August_2_2022"><h3>Version 17.5: August 2, 2022</h3><p>&#x02022; Added edict.go remote server for local archive (RESTful equivalent of phrase-search commands), with support for search, fetch, (compressed) stream, and (citation) match operations. The -host and -port arguments override the default "localhost:8080" address used for testing.</p><p>&#x02022; Nquire -edict is a shortcut for access to a running edict server, defaulting to "localhost:8080".</p><p>&#x02022; Set the NQUIRE_EDICT_SERVER environment variable to override the nquire -edict address.</p><p>&#x02022; Nquire -preview is a shortcut for the upcoming PubMed SOLR server.</p><p>&#x02022; Nquire -get and -url send explicit curl -X GET and -X POST arguments.</p><p>&#x02022; Archive-pubmed -extras flag indexes chemical, disease, and gene references (extracted from article contents by NCBI text mining and NLM indexing groups) as CHEM, DISZ, and GENE fields. This supersedes the index-extras script, and only runs if any relevant data file is out of date or not yet downloaded.</p><p>&#x02022; Archive-pubmed writes two independently-compressed blocks (xml+DOCTYPE header and PubmedArticle XML record data) to each file. When streaming sets of compressed files for efficient network transfer, the headers before each record are skipped by advancing a fixed number of bytes.</p><p>&#x02022; New asn2ref script helps with citation matching from Seq-entry ASN.1 records.</p><p>&#x02022; Elink internal chunk size lowered to 400 to avoid server timeouts.</p><p>&#x02022; Test-eutils -preview runs the basic -alive tests on the SOLR server.</p></div><div id="release6.Version_17_4_July_18_2022"><h3>Version 17.4: July 18, 2022</h3><p>&#x02022; Efilter handles &#x0003c;Query&#x0003e; or &#x0003c;Id&#x0003e; items in the ENTREZ_DIRECT message.</p><p>&#x02022; Archive-pubmed second-level inverted index cache moved to Increment folder.</p><p>&#x02022; Downloading each PubMed ftp release file validates contents, retries on failure.</p><p>&#x02022; Normalization removes combining accents in author affiliation field.</p><p>&#x02022; Remaining functionality needed for full EDirect support of PubMed SOLR server includes combining queries (in esearch) and specifying a range of output records (in efetch).</p></div><div id="release6.Version_17_3_June_29_2022"><h3>Version 17.3: June 29, 2022</h3><p>&#x02022; Esearch -title queries individual words with [TITL] to bypass automatic term mapping.</p><p>&#x02022; Elink supports &#x0003c;Query&#x0003e; or &#x0003c;Id&#x0003e; items in the ENTREZ_DIRECT message.</p><p>&#x02022; Local index restores PAIR field to accelerate inexact citation matching.</p><p>&#x02022; Removed TLEN and TNUM fields from local index.</p><p>&#x02022; Local archive adds xml and DOCTYPE lines to every PubmedArticle record. This will allow biopython's Bio.Entrez subpackage to use the archive files directly.</p><p>&#x02022; Fetch-pubmed removes the xml and DOCTYPE prefix from individual PubmedArticle records. A single pair precedes the &#x0003c;PubmedArticleSet&#x0003e; wrapper.</p><p>&#x02022; Fetch-pubmed -turbo places &#x0003c;NEXT_RECORD_SIZE&#x0003e; objects in front of each XML record, to allow faster XML data extraction with xtract -turbo.</p><p>&#x02022; Xtract -mirror reverses the characters in a string.</p></div><div id="release6.Version_17_2_June_13_2022"><h3>Version 17.2: June 13, 2022</h3><p>&#x02022; Esearch passes a &#x0003c;Query&#x0003e; field in the ENTREZ_DIRECT message when using the upcoming PubMed SOLR backend. This allows efetch to circumvent the 10,000 PMID-per-query limit by repetitive searching with a sliding window of dynamically-resized create date ranges.</p><p>&#x02022; Efetch temporarily calls "transmute -mixed -normalize pubmed" twice, as a quick fix to compensate for the SOLR server's unexpected encoding of non-ASCII characters with the "&#x00026;#x...;" construct.</p><p>&#x02022; Internal esearch -count and -uids added to access PubMed SOLR without using history.</p><p>&#x02022; Esearch -translate and -components now handle SOLR output variant.</p><p>&#x02022; Local indexing adds bad date, future date, medline date, has abstract, and versioned to the PROP field.</p><p>&#x02022; Local JOUR field now indexes MedlineTA, NlmUniqueID, and ISSNLinking values.</p><p>&#x02022; Local YEAR field standardizes on 4 directory levels for all dates (e.g., /1/8/9/2/), which includes 104,824 citations from the eighteenth and nineteenth centuries.</p><p>&#x02022; Run "archive-pubmed -clear -index" to refresh the inverted index cache after changes to indexing code.</p><p>&#x02022; Phrase-search -totals prints the term list with document counts for the given field.</p><p>&#x02022; Improved local citation matcher parsing of "in press" journal references.</p></div><div id="release6.Version_17_1_May_16_2022"><h3>Version 17.1: May 16, 2022</h3><p>&#x02022; Esearch -translate and -components, instead of -query, return the full query translation or the individual translation components, respectively. For -db pubmed they show the automatic term mapping expansions.</p><p>&#x02022; Archive-pubmed adds a second level of caching for faster search index rebuilding. Use -clean to remove Inverted folder intermediate files, or -clear to also remove Archive inverted index cache files.</p><p>&#x02022; Improved author name normalization and indexing of apostrophes and combining accents.</p><p>&#x02022; New cit2pmid script calls "https://pubmed.ncbi.nlm.nih.gov/api/citmatch" service, or with "-local" flag performs citation matching using EDirect local archive and search system.</p><p>&#x02022; Added ncbi::edirect:Execute function to control EDirect from NCBI C++ toolkit programs.</p></div><div id="release6.Version_17_0_April_18_2022"><h3>Version 17.0: April 18, 2022</h3><p>&#x02022; Removed STEM field (Porter2 algorithm) from standard local indexing.</p><p>&#x02022; Run rchive -e2delete "${EDIRECT_PUBMED_MASTER}/Archive" to clear the incremental cache. This is needed to remove residual STEM postings.</p><p>&#x02022; Next execution of archive-pubmed -daily will reinitialize the pre-indexed cache in under 90 minutes. Future daily updates should take around 3 minutes.</p><p>&#x02022; Archive-pubmed -index can subsequently rebuild local search indices on demand in under 2 hours.</p><p>&#x02022; Xtract adds -stemmed argument to index Porter2-processed sentences.</p><p>&#x02022; Use custom-index $( which idx-stemmed ) STEM to manually restore stemmed index.</p></div><div id="release6.Version_16_9_April_7_2022"><h3>Version 16.9: April 7, 2022</h3><p>&#x02022; Recompiled with Go 1.18, which should execute faster on ARM and Apple Silicon processors.</p><p>&#x02022; Nquire -pubchem, previously a legacy alias for -pugrest, is now repurposed for more convenient access to PubChem Pathways, which replaces the retired Entrez BioSystems database.</p><p>&#x02022; Xtract automatic detection of JSON input accidentally conflated the default record names for top-level objects and arrays. Now it uses the same policy as transmute -j2x ("opt" and "anon", respectively).</p><p>&#x02022; Local search index adds PROP field for publication types.</p><p>&#x02022; Using parallel pgzip (de)compression library for faster search index construction.</p><p>&#x02022; Archive-pubmed -daily keeps an incremental cache of pre-indexed files up to date.</p><p>&#x02022; Archive-pubmed -index uses the cache to repopulate all local retrieval system files in under 3 hours, superseding the slower index-pubmed process.</p></div><div id="release6.Version_16_8_March_17_2022"><h3>Version 16.8: March 17, 2022</h3><p>&#x02022; Phrase-search supports MESH queries by mapping to indexed TREE or CODE fields.</p><p>&#x02022; Phrase-search reads an expandable file of JOUR field aliases (e.g., PNAS).</p><p>&#x02022; Xtract -pairx extends -pairs to include isolated single words.</p><p>&#x02022; Idx-pairs helper for custom-index reintroduces modified non-positional title word PAIR index.</p><p>&#x02022; EDIRECT_PREVIEW environment variable allows testing of the upcoming PubMed API.</p><p>&#x02022; Elink stores identifiers in ENTREZ_DIRECT message instead of history with new PubMed server.</p><p>&#x02022; Efilter accepts ENTREZ_DIRECT instantiated identifiers when using the new PubMed API.</p></div><div id="release6.Version_16_7_March_1_2022"><h3>Version 16.7: March 1, 2022</h3><p>&#x02022; Added ds2pme script to convert PubMed DocumentSummary XML to Pubmed-entry ASN.1.</p><p>&#x02022; Phrase-search adds -words (replacing -partial) and -pairs, for local index citation matching test.</p><p>&#x02022; Filter-stop-words script adds optional -plus argument to support phrase-search -pairs.</p><p>&#x02022; Index-pubmed script adds TLEN and TNUM indices, phrase-search can query those fields by range.</p><p>&#x02022; Xtract -trim removes leading and trailing spaces, and leading zeros.</p><p>&#x02022; Xtract -wct counts the number of words in a string, obeying -stops and -stems modifiers.</p><p>&#x02022; Transmute -g2r (gbf2ref) tracks previously-encountered titles and authors, suppressing duplicate citations, which allows xtract -select STAT to create non-redundant inpress or unpub subsets.</p><p>&#x02022; Transmute -r2p (and ref2pmid shortcut) reads gbf2ref subsets for local citation matching.</p></div><div id="release6.Version_16_6_February_14_2022"><h3>Version 16.6: February 14, 2022</h3><p>&#x02022; Nquire -pugwait polls asynchronous PubChem PUG-REST searches, returning ENTREZ_DIRECT structure with instantiated compound identifiers. (Support for this form was included in the 2020 EDirect redesign.)</p><p>&#x02022; Nquire -timer prints milliseconds between initial service request and completion of network data transfer.</p><p>&#x02022; Xtract warns that capitalized exploration arguments (e.g., -Block), which were needed for recursive data in the original (retired) Perl implementation, are now deprecated, and will be removed in the near future.</p><p>&#x02022; Added pma2pme script to convert PubmedArticle XML to Pubmed-entry ASN.1.</p><p>&#x02022; Archive-pubmed script takes optional -asn argument to save Pubmed-entry ASN.1 files in the local archive, coexisting with the PubmedArticle XML records. Use fetch-pubmed -asn to retrieve.</p><p>&#x02022; Index-pubmed script now creates indices for author (AUTH, ANUM, FAUT, LAUT, CSRT, INVR) and citation (JOUR, VOL, ISS, PAGE, LANG) fields, eliminating the need for a separate custom-index step. To be used with TITL, TIAB, and YEAR fields for local citation matching experiments with phrase-search script.</p><p>&#x02022; Xtract modifies -plain (removal of mixed-content sections) and adds -simple (normalization of accented letters), both derived from -basic (cleanup of superscripts and subscripts).</p><p>&#x02022; Xtract repurposes -author and adds -prose, to correct commonly misused lookalike characters (sharp S and lower-case beta) and remove accents and markup, for use in generating search indices and ASN.1.</p><p>&#x02022; Xtract -auth replaces commas, periods, and hyphens to allow queries with GenBank reference authors.</p><p>&#x02022; Xtract -month "PubDate/*" finds first month name or abbreviation, returning a number from 1 to 12.</p><p>&#x02022; Xtract -page extracts first page (digits and letters) from a page range.</p><p>&#x02022; Xtract adds -hex (hexadecimal), -oct (octal), and -acc (running total accumulator) numeric arguments.</p><p>&#x02022; Xtract -element "." (period) generates text ASN.1 from customized XML records. Underscores in XML tag names show unlabeled braces around SEQUENCE OF components (single), unquoted INTEGER or ENUMERATED values (trailing), or alternative CHOICE selections (internal).</p><p>&#x02022; Xtract -element "%" (percent) generates JSON from customized XML records. Underscores in XML tag names show unlabeled brackets (single), named arrays in brackets (leading), or unquoted values (trailing).</p><p>&#x02022; Transmute -g2r (and gbf2ref shortcut) extract reference fields from sequence flatfiles for citation matching.</p><p>&#x02022; Phrase-search -partial queries title words individually and combines results for ranked matches.</p><p>&#x02022; EDirect now uses a custom internal Unicode-to-ASCII conversion map.</p></div><div id="release6.Version_16_5_January_3_2022"><h3>Version 16.5: January 3, 2022</h3><p>&#x02022; Using efetch.fcgi instead of esearch.fcgi to retrieve UID lists, in preparation for new PubMed API.</p><p>&#x02022; Nquire adds initial implementation of -puglist and -pugwait helper functions for PubChem.</p><p>&#x02022; Xtract -verify raises maxDepth limit to 30 to avoid warning about depth of PMC XML records.</p><p>&#x02022; Rchive -invert uses a separate map for each initial character, now runs in 1/3 less time.</p><p>&#x02022; Added indexing of INVR investigators to idx-authors helper script.</p></div></div><div id="release6.2021"><h2 id="_release6_2021_">2021</h2><div id="release6.Version_16_4_December_20_2021"><h3>Version 16.4: December 20, 2021</h3><p>&#x02022; Nquire -pugrest -inchi silently adds "InChI=" prefix if it is missing in the argument value.</p><p>&#x02022; Xtract -year "PubDate/*" construct, broken in recent refactoring, again returns a single 4-digit year.</p><p>&#x02022; Separate EDIRECT_PUBMED_MASTER and EDIRECT_PUBMED_WORKING environment variables also apply to index-extras and custom-index scripts.</p></div><div id="release6.Version_16_3_December_15_2021"><h3>Version 16.3: December 15, 2021</h3><p>&#x02022; Esummary -format docsum has a clearer "redundant argument" message.</p><p>&#x02022; Efilter -db assembly adds -status shortcut.</p><p>&#x02022; Nquire adds -pugrest and -pugview shortcuts for PubChem Power User Gateway services.</p><p>&#x02022; Nquire allows Windows version of curl to recognize Cygwin paths.</p><p>&#x02022; Xtract supports multiple -insd feature clauses for output on a single line.</p><p>&#x02022; Xtract -insd source taxid qualifier extracts integer from "taxon:###" db_xref.</p><p>&#x02022; Xtract -accent no longer needs -strict or -mixed processing flags.</p><p>&#x02022; Transmute -plain removes accents and diacritical marks from text.</p><p>&#x02022; Local archive scripts use 2022 PubMed release files and 2022 MeSH data files.</p><p>&#x02022; Local archive Extras directory added to store original MeSH data files and NLP downloads. Separate environment variables (EDIRECT_PUBMED_MASTER and EDIRECT_PUBMED_WORKING) can place Archive, Data, and Postings folders on the computer's internal drive, while keeping release files and indexing intermediates on the external SSD.</p><p>&#x02022; Renamed alternative edirect-install.sh script to update-edirect.sh.</p></div><div id="release6.Version_16_2_October_28_2021"><h3>Version 16.2: October 28, 2021</h3><p>&#x02022; Xtract automatically detects and processes JSON, text ASN.1, and GenBank/GenPept formats. An explicit transmute command is only needed if you wish to inspect the intermediate XML, or to override the default conversion arguments.</p><p>&#x02022; Transmute -j2x -nest "element" choice adds "_E" suffixes to multi-dimensional array components. This is now the default for both transmute and the xtract JSON converter, assigning a distinct tag name to each level.</p><p>&#x02022; Transmute -g2x parses the DBLINK section to capture BioProject and BioSample identifiers.</p><p>&#x02022; Using printf instead of echo to generate configuration commands in the install-edirect.sh script.</p><p>&#x02022; Efetch -db pubmed -format uid retrieves PMIDs in chunks of 10,000 in preparation for new PubMed API.</p><p>&#x02022; Added idx-metadata script for indexing JOUR, LANG, MAJR, MESH, and SUBH fields in the local archive.</p><p>&#x02022; Added edirect.py module file for import by Python programs. Use edirect.execute to run individual EDirect commands, Unix tools, or shell scripts, controlling multiple steps by passing the previous result to the next command. Or use edirect.pipeline to launch a chain of several commands contained in a single argument. An edirect.efetch shortcut that takes named arguments is also provided.</p></div><div id="release6.Version_16_1_October_13_2021"><h3>Version 16.1: October 13, 2021</h3><p>&#x02022; Efetch -strand argument can accept "\+" or "\-". The leading backslash is required.</p><p>&#x02022; Efetch -express flag works like -immediate, but on several sequence records at a time.</p><p>&#x02022; Nucleotide accession lookup is only needed for master sequences.</p><p>&#x02022; Epost looks up all nucleotide accessions to silently skip replaced records.</p><p>&#x02022; Xtract -self applies a default value to allow detection of empty self-closing tags.</p><p>&#x02022; Xtract uses both time interval and record count to trigger an output buffer flush.</p><p>&#x02022; Minor refactoring of xtract argument parsing code.</p><p>&#x02022; Removed obsolete setup.sh script.</p><p>&#x02022; Updated cacert.pem file.</p></div><div id="release6.Version_16_0_October_4_2021"><h3>Version 16.0: October 4, 2021</h3><p>&#x02022; Xtract -insd feat_intervals is a version of feat_location that generates 0-based positions.</p><p>&#x02022; Transmute -extract accepts -0-based and -1-based modifiers, defaulting to the 1-based feat_location form.</p><p>&#x02022; The eutils.SequenceExtract library function has a new isOneBased boolean argument.</p><p>&#x02022; Added fuse-segments to the set of scripts for post-processing magicblast -outfmt asn.</p><p>&#x02022; Renamed uniq-columns script to uniq-table.</p></div><div id="release6.Version_15_9_September_27_2021"><h3>Version 15.9: September 27, 2021</h3><p>&#x02022; Redesigned install-edirect.sh script, which no longer calls setup.sh.</p><p>&#x02022; Alternative edirect-install.sh script does not offer to edit configuration files.</p><p>&#x02022; Installation prints PATH command to use for current terminal session.</p><p>&#x02022; Successfully installed and ran test-eutils and test-edirect on Cloud.</p><p>&#x02022; Minor refactoring of xtract -element variant code.</p><p>&#x02022; Modified snp2hgvs script to remove records where the Id and SNP_ID do not match.</p></div><div id="release6.Version_15_8_September_16_2021"><h3>Version 15.8: September 16, 2021</h3><p>&#x02022; Efetch -db clinvar leaves VCV prefix for -format vcv.</p><p>&#x02022; Added gene column to spdi2tbl component of snp2tbl.</p><p>&#x02022; Renamed spdi2prod script to tbl2prod, now reads output of snp2tbl.</p><p>&#x02022; Xtract -hgvs allows R and Y nucleotide ambiguity characters.</p><p>&#x02022; Xtract -author replaces commas and periods in GenBank reference authors.</p><p>&#x02022; Refactored eutils.FASTAConverter into tokenizer and streamer components.</p><p>&#x02022; Added uniq-columns script.</p></div><div id="release6.Version_15_7_September_9_2021"><h3>Version 15.7: September 9, 2021</h3><p>&#x02022; Efetch -immediate flag avoids memory overflow on sets of extremely large sequences.</p><p>&#x02022; Efetch -format fasta chunk size reduced to 50 records at a time.</p><p>&#x02022; Xtract -backward presents elements in reverse order.</p><p>&#x02022; Modified spdi2prod script to print "wild-type" protein and CDS translation.</p><p>&#x02022; Renamed filter-table script to filter-columns.</p><p>&#x02022; Moved all help text to a new help subfolder.</p><p>&#x02022; Recompiled with Go 1.17, which generates smaller binaries that execute faster.</p></div><div id="release6.Version_15_6_September_1_2021"><h3>Version 15.6: September 1, 2021</h3><p>&#x02022; Added datasets and sra-toolkit choices to download-ncbi-software script.</p><p>&#x02022; Added efilter -keyword and -purpose shortcuts for "purposeofsampling" keywords.</p><p>&#x02022; Restored missing efilter -pub and -released shortcuts.</p><p>&#x02022; Xtract -ncbi2na and -ncbi4na functionality available in common eutils library.</p><p>&#x02022; Added vendor option to Go build.sh scripts to cache source code for all external library dependencies.</p></div><div id="release6.Version_15_5_August_16_2021"><h3>Version 15.5: August 16, 2021</h3><p>&#x02022; Documentation introduces Go compiled language, dependency management with modules, and EDirect's local eutils library package.</p><p>&#x02022; Now including go.mod and go.sum module files for eutils and cmd project directories.</p><p>&#x02022; Transmute -counts implements Go base count example.</p><p>&#x02022; Added xml2fsa script for converting INSDSeq XML to FASTA.</p><p>&#x02022; Xtract -fasta, used by xml2fsa script, now generates conventional 70 uppercase characters per line.</p><p>&#x02022; Xtract -element "~" for object contents joins "?" for object name.</p><p>&#x02022; Added download-ncbi-software script, initially for magic-blast on linux, macosx, and win64 platforms.</p><p>&#x02022; Added blst2tkns, split-at-intron, fuse-ranges, and find-in-gene scripts for merging overlapping reference coordinate matches from magicblast -outfmt asn.</p><p>&#x02022; Nucleotide accession lookups may use [PACC] or [ACCN] fields.</p><p>&#x02022; Nquire supports NQUIRE_IPV4 environment variable for diagnosing suspected IPv6 problem.</p></div><div id="release6.Version_15_4_July_16_2021"><h3>Version 15.4: July 16, 2021</h3><p>&#x02022; Added efilter -source select as shortcut for RefSeq Select dataset.</p><p>&#x02022; Efetch -id removes PMC prefix in front of PubMed Central identifiers.</p><p>&#x02022; Transmute -align -a argument adds m choice for using commas to separate integers into groups of 3 digits.</p><p>&#x02022; Added transmute -align -w argument to specify minimum width for all columns.</p><p>&#x02022; Improved scripting introduction in automation section of documentation.</p></div><div id="release6.Version_15_3_June_21_2021"><h3>Version 15.3: June 21, 2021</h3><p>&#x02022; Transmute -separate replaced by -combine, default is not to remove internal top-level objects, which result from retrieving large sets of data in smaller chunks.</p><p>&#x02022; Added transmute -search for finding positions of patterns in sequence data (e.g., restriction sites), -circular flag allows match to pattern spanning origin of circular molecule.</p><p>&#x02022; Added disambiguate-nucleotides script to expand degenerate base letters for restriction enzymes like AccI.</p><p>&#x02022; Added transmute -find for searching non-sequence text that includes digits, spaces, and punctuation, -relaxed flag ignores spacing differences, punctuation.</p><p>&#x02022; Added idx-words helper script to split words at punctuation for indexing [WORD] field.</p><p>&#x02022; Local indexing speed improvements.</p><p>&#x02022; Removed deprecated rchive -phrase function, not needed with positional indices.</p></div><div id="release6.Version_15_2_June_3_2021"><h3>Version 15.2: June 3, 2021</h3><p>&#x02022; Expand-current prepares decompressed nonredundant PubMed archives with xtract -index, which places &#x0003c;NEXT_RECORD_SIZE&#x0003e; objects in front of each XML record.</p><p>&#x02022; Xtract -turbo uses precomputed &#x0003c;NEXT_RECORD_SIZE&#x0003e; information to double the speed of the (rate-limiting) partitioning step, allowing additional CPU cores to participate in XML data extraction.</p><p>&#x02022; Added custom-index, which calls a user-supplied helper script to build an initial PMID-term index, and then completes the inversion and posting steps to integrate the new field into the local search system.</p><p>&#x02022; Added idx-author sample helper script, with boilerplate xtract instructions for generating an IdxDocument set, and specific commands for populating a novel [ANUM] index.</p><p>&#x02022; Rchive -invert converts input strings to lower-case if that was not already done in the indexing step.</p><p>&#x02022; Added xtract -includes, like -contains but requiring the substring match to align on word boundaries.</p><p>&#x02022; Index-pubmed adds a new [TITL] field, which indexes only the article title.</p><p>&#x02022; Phrase-search -title performs an exact search on the local [TITL] field.</p><p>&#x02022; Index-pubmed replaces the [NORM] field with [TIAB], the conventional code for title and abstract. Legacy queries using [NORM] will be internally redirected to [TIAB].</p><p>&#x02022; README and readme.pdf files are more concise, with several sections now residing only in the more detailed web documentation.</p></div><div id="release6.Version_15_1_May_20_2021"><h3>Version 15.1: May 20, 2021</h3><p>&#x02022; Xtract and transmit now run as native executables on Apple Silicon machines.</p><p>&#x02022; Setup.sh script can add edirect folder to PATH in both .bash_profile and .zshrc for MacOS.</p><p>&#x02022; Documented efetch and elink reading large lists of identifiers from stdin or file, bypassing need for epost.</p><p>&#x02022; Nquire supports -ncbi, -eutils, and -pubchem URL shortcuts.</p><p>&#x02022; Nquire uses --cacert instead of --capath in curl command.</p><p>&#x02022; Efetch -db snp uses -format -self flag to keep self-closing attribute-free PAIRED or SINGLE items in XML.</p><p>&#x02022; SNP processing adds Gene, Hgvs, and Spdi fields, and (when different from Id) adds OldId field.</p><p>&#x02022; Added transmute -codons to display nucleotide codons above protein residues.</p><p>&#x02022; Transmute -a2x, -c2x, -g2x, -j2x, and -t2x have shortcut scripts asn2xml, csv2xml, gbf2xml, json2xml, and tbl2xml, respectively.</p></div><div id="release6.Version_15_0_April_29_2021"><h3>Version 15.0: April 29, 2021</h3><p>&#x02022; Removed edirect.pl and setup-deps.pl scripts containing original Perl implementation.</p><p>&#x02022; Deprecated -oldmode and -newmode arguments, and USE_NEW_EDIRECT environment variable.</p><p>&#x02022; Simplified -hgvs output structure, and converted to 0-based positions for SPDI processing.</p><p>&#x02022; Added snp2hgvs script as shortcut for -hgvs extraction from SNP docsum.</p><p>&#x02022; Added hgvs2spdi script to adjust CDS-relative -hgvs offsets into sequence-relative positions suitable for use by transmute -replace.</p><p>&#x02022; Added spdi2prod script to pair modified NM translation with modified NP sequence.</p><p>&#x02022; Added snp2tbl script to produce tab-delimited table of adjusted SNP values in one step.</p><p>&#x02022; Transmute -replace and -extract use -lower to specify lower-case output.</p><p>&#x02022; Transmute -g2x writes INSDAltSeqItem_first-accn and INSDAltSeqItem_last-accn objects for WGS master.</p><p>&#x02022; Xtract -pkg and -enc XML generators accept multiple slash-delimited object names.</p></div><div id="release6.Version_14_9_April_15_2021"><h3>Version 14.9: April 15, 2021</h3><p>&#x02022; EDirect runtime errors display an "ERROR:" tag in inverse bold red text on the terminal.</p><p>&#x02022; Efetch -id now works on WGS master accessions in nucleotide databases.</p><p>&#x02022; Lookup of rs/ss numbers supported in -id argument for -db snp.</p><p>&#x02022; Epost uses chunks of 1000 to avoid server truncation.</p><p>&#x02022; Transmute -hgvs parsing now supports ".g" genomic and ".c" coding sequences, in addition to ".p" proteins. The ".c" item location uses &#x0003c;Offset&#x0003e; rather than &#x0003c;Position&#x0003e;, since it is relative to the first base of the CDS initiation codon, not the sequence. Additional operations will be required to adjust this value for SPDI processing.</p><p>&#x02022; The next release will retire the edirect.pl and setup-deps.pl scripts, and will ignore the old/new mode arguments and environment variable.</p></div><div id="release6.Version_14_8_March_24_2021"><h3>Version 14.8: March 24, 2021</h3><p>&#x02022; Esearch has improved logic to recognize [FILT], [PROP], and [ORGN] controlled-vocabulary phrases without the need for extra quotation marks to protect the query.</p><p>&#x02022; Elink runs -cmd acheck to confirm empty history result, can detect stale links to deleted records.</p><p>&#x02022; Elink writes structured message on empty history input to avoid breaking pipeline of multiple link operations.</p><p>&#x02022; Nquire adds -dir command to show ftp directory listing with column of file sizes.</p><p>&#x02022; Blank lines are ignored by sort-uniq-count, sort-uniq-count-rank, and sort-table scripts.</p><p>&#x02022; Removed eblast script after URL-based BLAST service was disabled.</p><p>&#x02022; Use of edirect.pl script (through -oldmode command-line argument or USE_NEW_EDIRECT=false environment variable setting) prints DEPRECATED warning message.</p></div><div id="release6.Version_14_7_March_8_2021"><h3>Version 14.7: March 8, 2021</h3><p>&#x02022; Xtract -insd handles qualifiers without values (e.g., pseudo, transgenic).</p><p>&#x02022; Xtract -insd adds feat_location qualifier to print feature intervals.</p><p>&#x02022; Transmute -extract reads xtract -insd feat_location interval format.</p><p>&#x02022; Transmute -remove -first and -last arguments can use sequence letters instead of count.</p><p>&#x02022; Efetch -format ipg processes potentially large records one at a time.</p><p>&#x02022; Error message printed if non-integer -id argument is used with -db taxonomy.</p><p>&#x02022; Nquire -dwn and -asp file download failure report improved.</p><p>&#x02022; Refactored common.go and transmute.go functions into reusable local "eutils" package.</p><p>&#x02022; Go compiler uses "replace eutils =&#x0003e; ../eutils" line in go.mod file to import from local eutils package.</p><p>&#x02022; Transmute -degenerate &#x0003e; gdata.go recreates library file with updated genetic code mapping tables.</p><p>&#x02022; Removed obsolete and deprecated scripts.</p><p>&#x02022; Added sort-table, filter-table, and print-columns scripts.</p><p>&#x02022; Revised eblast script as prelude for running on cloud.</p></div><div id="release6.Version_14_6_February_3_2021"><h3>Version 14.6: February 3, 2021</h3><p>&#x02022; Transmute -cds2prot added to translate coding regions with nucleotide substitutions.</p><p>&#x02022; Transmute -revcomp and -molwt added, sharing code with xtract functions.</p><p>&#x02022; Transmute -remove, -retain, and -replace allow script-driven editing of sequences and insertion of SNP bases, with argument values obtained by -hgvs parsing of HGVS data.</p><p>&#x02022; Transmute -diff simplifies visualization of sequence point mutations.</p><p>&#x02022; Esearch and efilter enforce restriction of -country shortcut to sequence databases.</p></div><div id="release6.Version_14_5_January_19_2021"><h3>Version 14.5: January 19, 2021</h3><p>&#x02022; Added -hgvs support for genomic single nucleotide substitutions.</p><p>&#x02022; Sort by RefSeq accession numbers within categories of -hgvs output.</p><p>&#x02022; Updated efilter -db snp -class frameshift mapping to FXN entry.</p><p>&#x02022; Updated test-eutils upon retirement of Entrez sparcle database.</p><p>&#x02022; Updated Amino Acid Substitutions example.</p><p>&#x02022; Added Reference Formatting example.</p><p>&#x02022; Xtract -replace uses -reg and -exp values for regular expression substitution.</p></div><div id="release6.Version_14_4_January_13_2021"><h3>Version 14.4: January 13, 2021</h3><p>&#x02022; HGVS format parsed into XML by xtract and transmute -hgvs commands. Initial implementation supports amino acid missense and nonsense variations. More coding to follow.</p><p>&#x02022; Transmute -align -a argument adds z choice for padding numbers with leading zeros.</p><p>&#x02022; Fixed bug in efetch -start and -stop subrange arguments.</p><p>&#x02022; Restored trailing newline lost in switch from echo to printf.</p></div><div id="release6.Version_14_3_January_7_2021"><h3>Version 14.3: January 7, 2021</h3><p>&#x02022; Major overhaul of EDirect documentation completed.</p><p>&#x02022; Release notes and additional examples moved to separate web pages.</p><p>&#x02022; Xtract -doi cleans DOI data and generates complete URL.</p><p>&#x02022; Transmute -align -a argument adds n and N choices for aligning to decimal point.</p><p>&#x02022; Added align-columns script as preferred front-end to transmute -align.</p><p>&#x02022; Transmute -j2p works on a concatenated stream of JSON records.</p><p>&#x02022; Transmute -aa1to3 and -aa3to1 amino acid abbreviation converters added for HGVS processing.</p><p>&#x02022; Improved lookup of accessions in -id argument, now includes 21 Entrez databases with 10 fields.</p><p>&#x02022; Improved code that maps PDB protein accessions with case-sensitive chain letters.</p><p>&#x02022; Efetch -db bioproject no longer converts formats in order to handle accession input.</p><p>&#x02022; Efetch -format fasta adds newline if missing before angle bracket.</p><p>&#x02022; Uses printf "%s" instead of echo to avoid misinterpreting backslash in retrieved records.</p><p>&#x02022; Nquire keeps error messages from leaking into output file.</p><p>&#x02022; Confirmed that EDirect will run on Apple Silicon under Rosetta translation environment.</p></div></div><div id="release6.2020"><h2 id="_release6_2020_">2020</h2><div id="release6.Version_14_2_December_14_2020"><h3>Version 14.2: December 14, 2020</h3><p>&#x02022; Transmute -normalize now handles unexpected DocumentSummary attributes.</p><p>&#x02022; Transmute -t2x -heading takes tags from columns in first row of file.</p><p>&#x02022; Transmute -align converts a tab-delimited table to columns padded with spaces.</p><p>&#x02022; Nquire -raw does minimal URL encoding for GeneOntology query.</p><p>&#x02022; Efetch -db bioproject maps -format docsum to -format xml.</p><p>&#x02022; Download-ncbi-data script updated to use desc2021.xml and supp20201.xml for mesh lookup table.</p></div><div id="release6.Version_14_1_November_30_2020"><h3>Version 14.1: November 30, 2020</h3><p>&#x02022; Nquire always uses new implementation.</p><p>&#x02022; Scripts updated to use new nquire features.</p><p>&#x02022; Efetch and esummary warn about -db mismatches and collisions between -format choices.</p><p>&#x02022; Efetch supports PDB accessions with case-sensitive chain letters in the -id argument for -db protein.</p><p>&#x02022; Efetch supports GCA and GCF accessions in the -id argument for -db assembly.</p><p>&#x02022; Esearch -mindate and -maxdate can be used alone, with defaults filling in the missing argument.</p><p>&#x02022; Xtract -set, -rec, -pkg, and -enc shortcuts join -wrp for creating XML objects at appropriate levels during XML generation.</p><p>&#x02022; Xtract -head can read separate arguments for individual column headings.</p><p>&#x02022; Xtract uses double-hyphen to append value into variable.</p></div><div id="release6.Version_14_0_November_12_2020"><h3>Version 14.0: November 12, 2020</h3><p>&#x02022; Redesigned EDirect active by default, deselected by running "export USE_NEW_EDIRECT=false" to set environment variable.</p><p>&#x02022; Old implementation also chosen by adding -oldmode as the first argument to individual efetch, efilter, einfo, elink, epost, esearch, esummary, and nquire commands.</p><p>&#x02022; Automatic retry supported on empty result for all formats, not just structured data.</p><p>&#x02022; Esearch protects [PROP], [FILT], and [ORGN] queries in biological databases from parsing artifact on controlled vocabulary entries with embedded "or" and "not".</p><p>&#x02022; Efetch adds -showgaps flag.</p><p>&#x02022; Xtract -wrp causes angle brackets, ampersands, quotation marks, and apostrophes to be reencoded in the new XML, without the need for explicitly using -encode.</p><p>&#x02022; Xtract formatting, modification, normalization, and conversion functions moved to transmute, with old calls automatically redirected to avoid breaking user scripts.</p><p>&#x02022; Transmute -format takes optional -comment and -cdata flags to keep XML comments and CDATA blocks.</p><p>&#x02022; Transmute -a2x converts text ASN.1 data to XML.</p><p>&#x02022; Xtract -ncbi2na and -ncbi4na decompress nucleotide sequence converted from text ASN.1 hex representation.</p></div><div id="release6.Version_13_9_September_14_2020"><h3>Version 13.9: September 14, 2020</h3><p>&#x02022; Xtract -fasta splits long sequences into groups of 50 letters.</p><p>&#x02022; Xtract -select restores -in to indicate name of identifier file.</p><p>&#x02022; Redesigned EDirect selected by running "export USE_NEW_EDIRECT=true" to set environment variable.</p><p>&#x02022; New implementation also chosen by adding -newmode as the first argument to individual efetch, efilter, einfo, elink, epost, esearch, esummary, and nquire commands.</p></div><div id="release6.Version_13_8_August_27_2020"><h3>Version 13.8: August 27, 2020</h3><p>&#x02022; Deprecated econtact and eproxy utilities.</p><p>&#x02022; Deprecated -alias argument.</p><p>&#x02022; Added accn-at-a-time and skip-if-file-exists scripts.</p><p>&#x02022; Xtract -g2x converts GenBank and GenPept to INSDSeq XML.</p><p>&#x02022; Xtract -c2x is a CSV (comma-separated values) variant of -t2x.</p></div><div id="release6.Version_13_7_May_28_2020"><h3>Version 13.7: May 28, 2020</h3><p>&#x02022; Removed xtract -repair shortcut for -unicode conversion.</p><p>&#x02022; Xtract -decode supports direct Base64 decoding.</p><p>&#x02022; Xtract -normalize added for Efetch post-processing.</p></div><div id="release6.Version_13_6_April_17_2020"><h3>Version 13.6: April 17, 2020</h3><p>&#x02022; Efilter -db snp -class shortcuts mappings updated to reflect changes to FXN index.</p><p>&#x02022; Xtract adds -matches and -resembles string conditional tests, -order string processing command.</p><p>&#x02022; Minor change to term granularity for MeSH [TREE] index creation.</p></div><div id="release6.Version_13_5_February_21_2020"><h3>Version 13.5: February 21, 2020</h3><p>&#x02022; Xtract -select -streaming uses case-insensitive test, concurrent processing.</p><p>&#x02022; Minor change to term granularity for reenabled [CODE] index creation.</p></div><div id="release6.Version_13_4_February_4_2020"><h3>Version 13.4: February 4, 2020</h3><p>&#x02022; Local [CONV] term list indexes GNBR theme plus relationship plus identifier pair.</p><p>&#x02022; Theme indexing splits genes at semicolons, adds M prefix to OMIM, H to ChEBI identifiers.</p><p>&#x02022; Run "source theme-aliases" to load commands for navigating theme identifier connections.</p></div><div id="release6.Version_13_3_January_28_2020"><h3>Version 13.3: January 28, 2020</h3><p>&#x02022; Index-extras downloads newest version of Global Network of Biomedical Relationships theme data.</p><p>&#x02022; Xtract -contour replaces -synopsis -leaf variant.</p></div><div id="release6.Version_13_2_January_7_2020"><h3>Version 13.2: January 7, 2020</h3><p>&#x02022; Expand-current can be run after archive-pubmed as well as index-pubmed.</p></div></div><div id="release6.2019"><h2 id="_release6_2019_">2019</h2><div id="release6.Version_13_1_December_30_2019"><h3>Version 13.1: December 30, 2019</h3><p>&#x02022; Local index only builds TREE fields for A, C, D, E, F, G, and Z categories.</p><p>&#x02022; Stop word list now includes "studies" and "study" in addition to "studied".</p><p>&#x02022; Xtract -select driver file command names changed to -retaining, -excluding, and -appending.</p><p>&#x02022; New efetch -format types documented for -db clinvar.</p><p>&#x02022; Updated MeSH tree category descriptions in phrase-search -help.</p></div><div id="release6.Version_13_0_December_16_2019"><h3>Version 13.0: December 16, 2019</h3><p>&#x02022; Xtract -histogram collects data for sort-uniq-count on entire set of records.</p><p>&#x02022; Xtract -wrp with empty string or dash resets -sep, -pfx, -sfx, -plg, and -elg customization values.</p><p>&#x02022; Xtract -fwd and -awd print once before and once after a set of object instances.</p><p>&#x02022; Xtract -t2x uses asterisk before column name to indicate XML contents, will not escape angle brackets in string.</p></div><div id="release6.Version_12_9_December_9_2019"><h3>Version 12.9: December 9, 2019</h3><p>&#x02022; Xtract -plain, an -element variant that removes embedded mixed-content markup, now also converts Unicode subscripts/superscripts, cleans bad spaces.</p><p>&#x02022; Xtract -select -in changed to -select -using.</p><p>&#x02022; Xtract -select -adding matches by identifier and appends XML metadata.</p><p>&#x02022; Xtract -select -merging requires original records and identifier-metadata file to be in same order.</p><p>&#x02022; Moved xtract -examples text to separate hlp-xtract.txt file.</p><p>&#x02022; Efetch -format asn maps to -format asn.1.</p><p>&#x02022; Disabled building of [CODE] field in local index.</p><p>&#x02022; Minor changes to term granularity for faster local index creation.</p><p>&#x02022; Index-pubmed takes optional [-collect | -index | -invert | -merge | -promote] argument to resume processing in an intermediate step.</p></div><div id="release6.Version_12_8_December_3_2019"><h3>Version 12.8: December 3, 2019</h3><p>&#x02022; Xtract -molwt sequence processing command added.</p><p>&#x02022; Xtract -len triggers -def instead of returning 0 for missing object.</p><p>&#x02022; Xtract -pairs does not drop the first component of hyphenated terms (e.g., site-specific).</p><p>&#x02022; Xtract -synopsis with optional -leaf argument only reports content nodes.</p><p>&#x02022; Adjusted test-eutils -esummary dbvar test.</p><p>&#x02022; Local archive asks user to check TRIM status on slow update.</p><p>&#x02022; Local archive checks that volume is actually a solid-state drive.</p></div><div id="release6.Version_12_7_November_21_2019"><h3>Version 12.7: November 21, 2019</h3><p>&#x02022; Local archive detects slow performance, reminds user about antivirus scanning and content indexing.</p><p>&#x02022; Local archive warns if Mac file system is not APFS, prints instructions on how to reformat drive.</p><p>&#x02022; Xtract -examples adds namespace prefix and Base64 decoding example.</p><p>&#x02022; Efetch -db nucleotide/nuccore -style withparts/conwithfeat processes -id accession list one record at a time.</p></div><div id="release6.Version_12_6_November_15_2019"><h3>Version 12.6: November 15, 2019</h3><p>&#x02022; Added support for automatic fallback to IPv4.</p><p>&#x02022; Xtract -insd adds mol_wt as a synonym for calculated_mol_wt.</p><p>&#x02022; Changed granularity of local index for [YEAR] field.</p><p>&#x02022; If archiving is slow, ask user to ensure that antivirus scanning and content indexing are disabled.</p></div><div id="release6.Version_12_5_November_6_2019"><h3>Version 12.5: November 6, 2019</h3><p>&#x02022; Efetch -start and -stop subset retrieval arguments are now documented.</p><p>&#x02022; Efetch -format docsum rescues uid attribute if no existing &#x0003c;Id&#x0003e; tag, now using case-sensitive test to prevent &#x0003c;id&#x0003e; from blocking.</p><p>&#x02022; Added efetch -revcomp flag, sets -strand 2.</p><p>&#x02022; Einfo sorts -fields and -links results by tag name.</p><p>&#x02022; Fixed stdin-vs-argument bug in ftp-cp introduced when moving code into edirect.pl for Anaconda issue.</p><p>&#x02022; Local search system [THME] field also indexes disambiguated themes - Jc (chemical-disease) and Jg (gene-disease) - under original code J (role in disease pathogenesis).</p></div><div id="release6.Version_12_4_October_28_2019"><h3>Version 12.4: October 28, 2019</h3><p>&#x02022; Expanded README file to cover more advanced features of potential interest to codeathon participants.</p><p>&#x02022; Elink -released also accepts four-digit year.</p><p>&#x02022; Local search system builds separate [CODE] and [TREE] indices for MeSH code and hierarchy values.</p></div><div id="release6.Version_12_3_October_23_2019"><h3>Version 12.3: October 23, 2019</h3><p>&#x02022; Added single-line copy-and-execute commands, in curl and wget flavors, as convenient options for EDirect installation.</p><p>&#x02022; Elink -db pubmed supports -cited and -cites to follow reference connections from the NIH Open Citation Collection dataset.</p><p>&#x02022; Added missing retry code to esearch and esummary.</p><p>&#x02022; Xtract -t2x converts tab-delimited table to XML.</p><p>&#x02022; Xtract -sort rearranges records by designated identifier.</p><p>&#x02022; Xtract -split breaks up a large XML stream into multiple files.</p><p>&#x02022; Xtract -chain changes_spaces_to_underscores.</p><p>&#x02022; Efetch -db gtr -format docsum -mode json downloads in smaller groups to avoid timeouts.</p><p>&#x02022; Nquire -get does not need -url command if followed immediately by URL argument.</p><p>&#x02022; Consolidated code for perl-based commands (e.g., nquire, transmute) into master edirect.pl script.</p><p>&#x02022; Wrappers to all perl-based commands now handle conflict with Anaconda installation.</p><p>&#x02022; Moved external resource indexing code from xtract to rchive.</p><p>&#x02022; Added phrase-search -filter command to pipe efetch -format uid results into local query.</p><p>&#x02022; Download-ncbi-data script updated to use desc2020.xml and supp2020.xml for mesh lookup table.</p><p>&#x02022; Experimental index-extras script loads natural language processing results into local retrieval system.</p><p>&#x02022; Experimental fetch-extras scripts retrieves indexed NLP fields per PMID saved in local archive.</p></div><div id="release6.Version_12_2_September_27_2019"><h3>Version 12.2: September 27, 2019</h3><p>&#x02022; Added install-edirect.sh script, with download link in web documentation, for easier installation.</p><p>&#x02022; Updated setup.sh script to ask permission to edit the PATH setting in the user's .bash_profile file.</p><p>&#x02022; Xtract -is-before and -is-after tests compare order of strings.</p><p>&#x02022; Xtract -mul, -div, and -mod numeric processing commands added.</p></div><div id="release6.Version_12_1_August_29_2019"><h3>Version 12.1: August 29, 2019</h3><p>&#x02022; Local query index now creates field-specific subdirectories immediately below Postings folder.</p><p>&#x02022; Term position index files, needed for phrase and proximity searching in [NORM] and [STEM] fields, not made for [CODE] and [YEAR].</p><p>&#x02022; Phrase-search -terms [field] prints complete term list for given field.</p><p>&#x02022; Rchive -help gives example of how to sequentially ascend the MeSH [CODE] hierarchy index.</p><p>&#x02022; Added expand-current script, to be run after index-pubmed, to prepare for fast scanning of all PubMed records.</p><p>&#x02022; Added -repeat option to test-eutils monitoring script.</p></div><div id="release6.Version_12_0_August_14_2019"><h3>Version 12.0: August 14, 2019</h3><p>&#x02022; Efetch adds -format bioc for -db pubmed and -db pmc, retrieving annotated records from PubTator Central.</p><p>&#x02022; Added download-ncbi-data script to consolidate and replace special-case scripts.</p></div><div id="release6.Version_11_9_August_5_2019"><h3>Version 11.9: August 5, 2019</h3><p>&#x02022; Updated test-eutils driver files due to retirement of unigene.</p><p>&#x02022; Test-eutils progress line prints a period for success, x for failure.</p><p>&#x02022; Test-eutils -timer prints response times in milliseconds for each query.</p><p>&#x02022; Added exclude-uid-lists script.</p><p>&#x02022; Added download-pmc-bioc script.</p><p>&#x02022; Nquire supports -bioc-pubmed and -bioc-pmc shortcuts.</p><p>&#x02022; Fetch-pubmed -fresh generates uncompressed PubMed files from local archive for fast data extraction.</p><p>&#x02022; Index-pubmed retains compressed PubMed intermediate files for batch scanning.</p><p>&#x02022; Xtract supports -select parent/element@attribute^version -in file_of_identifiers.</p></div><div id="release6.Version_11_8_July_23_2019"><h3>Version 11.8: July 23, 2019</h3><p>&#x02022; Xtract -j2x converts newline to space, compresses runs of spaces.</p><p>&#x02022; Xtract -j2x supports JSON null tags.</p></div><div id="release6.Version_11_7_July_3_2019"><h3>Version 11.7: July 3, 2019</h3><p>&#x02022; Efetch -format docsum -mode json reads 500 records at a time, in conformance with the server limit.</p><p>&#x02022; Fetch-pubmed -all sequentially streams all live records from the local cache.</p><p>&#x02022; Xtract -plain removes embedded mixed-content markup tags.</p><p>&#x02022; Added download-pmc-oa to fetch the open-access subset of PubMed Central.</p></div><div id="release6.Version_11_6_June_11_2019"><h3>Version 11.6: June 11, 2019</h3><p>&#x02022; Xtract -path implementation was simplified.</p><p>&#x02022; Einfo -db all returns a combined eInfoResult XML, containing field and link names, and record and term counts, for all Entrez databases in one operation.</p></div><div id="release6.Version_11_5_June_7_2019"><h3>Version 11.5: June 7, 2019</h3><p>&#x02022; Xtract -is-equal-to and -differs-from conditional arguments compare values in two named elements.</p></div><div id="release6.Version_11_4_May_23_2019"><h3>Version 11.4: May 23, 2019</h3><p>&#x02022; Efetch -db snp -format json reads 10 records at a time for the initial server deployment.</p><p>&#x02022; Updated SNP examples to use efetch -format json and xtract -j2x.</p><p>&#x02022; Added Genes in Pathways example.</p><p>&#x02022; Added xml2tbl script.</p></div><div id="release6.Version_11_3_May_3_2019"><h3>Version 11.3: May 3, 2019</h3><p>&#x02022; Xtract -j2x converts JSON stream to XML suitable for -path navigation.</p><p>&#x02022; Xtract -format -self retains self-closing tabs with no attributes.</p><p>&#x02022; Esample replaces xtract -samples.</p></div><div id="release6.Version_11_2_April_15_2019"><h3>Version 11.2: April 15, 2019</h3><p>&#x02022; Efetch -db snp only supports -format docsum and -format json.</p><p>&#x02022; Efilter -db biosystems has -kind and -pathway shortcuts.</p></div><div id="release6.Version_11_1_April_3_2019"><h3>Version 11.1: April 3, 2019</h3><p>&#x02022; Xtract optimizes performance for 6 CPUs with hyperthreading.</p></div><div id="release6.Version_11_0_March_11_2019"><h3>Version 11.0: March 11, 2019</h3><p>&#x02022; Xtract -path generates exploration commands from dotted object path.</p><p>&#x02022; Xtract -format -separate retains internal &#x0003c;/parent&#x0003e;&#x0003c;parent&#x0003e;.</p></div><div id="release6.Version_10_9_February_1_2019"><h3>Version 10.9: February 1, 2019</h3><p>&#x02022; Xtract -insd supports a sub_sequence qualifier that uses -nucleic and produces upper-case sequence.</p><p>&#x02022; Xtract now has an -is-within string conditional test.</p></div><div id="release6.Version_10_8_January_20_2019"><h3>Version 10.8: January 20, 2019</h3><p>&#x02022; EDIRECT_DO_AUTO_ABBREV environment variable restores relaxed matching of command-line arguments.</p><p>&#x02022; Efilter shortcut -journal added for -db pubmed.</p><p>&#x02022; Efilter -pub last_* shortcuts moved to -released.</p><p>&#x02022; Efilter -pub and -feature can take comma-separate list of choices.</p><p>&#x02022; Transmute -docsum command added.</p><p>&#x02022; Transmute -decode and -encode commands renamed to -unescape and -escape.</p><p>&#x02022; Transmute -decode64 and -encode64 commands added.</p></div><div id="release6.Version_10_7_January_14_2019"><h3>Version 10.7: January 14, 2019</h3><p>&#x02022; Xtract -nucleic uses bracketed range direction to determine whether to reverse complement the sequence.</p></div></div><div id="release6.2018"><h2 id="_release6_2018_">2018</h2><div id="release6.Version_10_6_December_13_2018"><h3>Version 10.6: December 13, 2018</h3><p>&#x02022; Local archive script creates command for saving data path in configuration file.</p><p>&#x02022; Xtract -reverse returns -words output in reverse order.</p><p>&#x02022; Efilter shortcut added for -db snp (e.g., -class missense).</p><p>&#x02022; Efetch -format gbc (INSDSeq XML) supports -style withparts and -style conwithfeat.</p></div><div id="release6.Version_10_5_December_4_2018"><h3>Version 10.5: December 4, 2018</h3><p>&#x02022; EDirect commands and pipelines support faster access with API keys.</p><p>&#x02022; Xtract attributes can be delimited by quotation marks or apostrophes.</p><p>&#x02022; Transmute -encode and -decode commands added.</p><p>&#x02022; Simplified processing of local inverted index intermediate files.</p></div><div id="release6.Version_10_4_November_13_2018"><h3>Version 10.4: November 13, 2018</h3><p>&#x02022; Rchive local indexing code refactored for faster performance.</p><p>&#x02022; Xtract -deq deletes and replaces queued tab separator after the fact.</p><p>&#x02022; Efilter -organism queries in [ORGN] field if argument is not in shortcut list.</p></div><div id="release6.Version_10_3_November_1_2018"><h3>Version 10.3: November 1, 2018</h3><p>&#x02022; Rchive -invert, -merge, -promote, and -query steps make better use of multiple processor cores.</p><p>&#x02022; New phrase-search script replaces local-phrase-search.</p></div><div id="release6.Version_10_2_October_15_2018"><h3>Version 10.2: October 15, 2018</h3><p>&#x02022; Transmute -x2j joins -j2x to simplify the use of JSON-based services.</p><p>&#x02022; Efetch -json converts adjusted XML output to JSON as a convenience.</p><p>&#x02022; Xtract tag alphabet expanded to accommodate converted JSON data.</p><p>&#x02022; Nquire -ftp takes server, directory, and filename arguments, sends data to stdout.</p></div><div id="release6.Version_10_1_October_9_2018"><h3>Version 10.1: October 9, 2018</h3><p>&#x02022; Xtract -mixed improves support for mixed-content XML.</p></div><div id="release6.Version_10_0_September_27_2018"><h3>Version 10.0: September 27, 2018</h3><p>&#x02022; Efilter can search for sequence records by sample collection location (e.g., -country "canada new brunswick").</p><p>&#x02022; Xtract parsing code was refactored in preparation for improvements in handling mixed-content XML data.</p><p>&#x02022; Added transmute script for format conversions (e.g., -j2x for JSON to XML).</p></div><div id="release6.Version_9_90_September_17_2018"><h3>Version 9.90: September 17, 2018</h3><p>&#x02022; Normalized archive path for low-value PMIDs in preparation for incremental indexing.</p></div><div id="release6.Version_9_80_September_4_2018"><h3>Version 9.80: September 4, 2018</h3><p>&#x02022; Xtract XML block reader can run on separate thread for improved performance on computers with surplus processor cores.</p><p>&#x02022; Fixed bug in string cleanup when text starts with a non-ASCII Unicode character.</p><p>&#x02022; Efetch regular expression pattern for detecting mixed-content tags was adjusted.</p></div><div id="release6.Version_9_70_August_22_2018"><h3>Version 9.70: August 22, 2018</h3><p>&#x02022; Local archive builds parallel stemmed and non-stemmed indices of terms in the title and abstract.</p><p>&#x02022; Rchive and local-phrase-search use -query for evaluation of non-stemmed terms, -search for evaluation using the stemmed index.</p></div><div id="release6.Version_9_60_August_9_2018"><h3>Version 9.60: August 9, 2018</h3><p>&#x02022; Local archive script removes newlines inside PubMed text fields.</p><p>&#x02022; Efetch adds missing newline at end of PubmedArticleSet XML.</p></div><div id="release6.Version_9_50_July_30_2018"><h3>Version 9.50: July 30, 2018</h3><p>&#x02022; Local indexing scripts adjusted to accommodate projected range of PMID values.</p><p>&#x02022; Fixed inconsistency in positional indexing of terms with embedded non-alphanumeric characters.</p><p>&#x02022; EDIRECT_PUBMED_WORKING environment variable keeps local archive intermediate files on a separate volume.</p><p>&#x02022; Rchive and local-phrase-search use -exact to round-trip ArticleTitle contents without interpretation as a query formula.</p></div><div id="release6.Version_9_40_July_18_2018"><h3>Version 9.40: July 18, 2018</h3><p>&#x02022; Xtract handles misplaced spaces in attributes.</p><p>&#x02022; Xtract -format repairs misplaced spaces in attributes.</p></div><div id="release6.Version_9_30_July_9_2018"><h3>Version 9.30: July 9, 2018</h3><p>&#x02022; Local data indexing retains intermediate products, allows rapid streaming of non-redundant current records.</p><p>&#x02022; Index preparation removes apostrophe in trailing 's possessives.</p><p>&#x02022; Wildcard minimum varies with prefix-driven posting character depth.</p></div><div id="release6.Version_9_20_June_26_2018"><h3>Version 9.20: June 26, 2018</h3><p>&#x02022; Portability and efficiency improvements to local data cache scripts.</p><p>&#x02022; Xtract handles misplaced spaces in self-closing tags.</p></div><div id="release6.Version_9_10_June_18_2018"><h3>Version 9.10: June 18, 2018</h3><p>&#x02022; Added Parent/* element exploration construct to xtract.</p><p>&#x02022; Xtract -year reliably obtains the year from "PubDate/*".</p></div><div id="release6.Version_9_00_June_6_2018"><h3>Version 9.00: June 6, 2018</h3><p>&#x02022; Fetch-pubmed -path supplies missing Archive directory if root path is given.</p><p>&#x02022; Efetch cleanup of MathML markup properly handles parentheses.</p></div><div id="release6.Version_8_90_June_4_2018"><h3>Version 8.90: June 4, 2018</h3><p>&#x02022; Xtract -transform and -translate allow data value substitution.</p><p>&#x02022; Xtract -wrp simplifies wrapping of extracted values in XML tags.</p></div><div id="release6.Version_8_80_May_29_2018"><h3>Version 8.80: May 29, 2018</h3><p>&#x02022; Efetch removes MathML tags from PubmedArticle XML contents, unless the -raw flag is used.</p></div><div id="release6.Version_8_70_May_14_2018"><h3>Version 8.70: May 14, 2018</h3><p>&#x02022; Local phrase indexing now uses positional indices instead of adjacent overlapping word pairs.</p><p>&#x02022; Xtract -select uses conditional expressions to filter records.</p></div><div id="release6.Version_8_60_April_26_2018"><h3>Version 8.60: April 26, 2018</h3><p>&#x02022; Efetch -format uid pauses between groups, retries on failure.</p><p>&#x02022; Fetch delay drops from 1/3 to 1/10 second if API key is used.</p><p>&#x02022; Local phrase indexing uses smaller files to avoid memory contention.</p><p>&#x02022; Phrase index removes hyphens from selected prefixes.</p></div><div id="release6.Version_8_50_April_13_2018"><h3>Version 8.50: April 13, 2018</h3><p>&#x02022; Efetch markup tag removal modified after change in server.</p><p>&#x02022; Xtract -phrase filter split into -require and -exclude commands.</p></div><div id="release6.Version_8_40_April_9_2018"><h3>Version 8.40: April 9, 2018</h3><p>&#x02022; Efetch removes markup tags in all PubMed XML.</p><p>&#x02022; Xtract without -strict prints warnings if markup tags are encountered.</p><p>&#x02022; Xtract proximity search moved from -matches to -phrase.</p></div><div id="release6.Version_8_30_April_4_2018"><h3>Version 8.30: April 4, 2018</h3><p>&#x02022; Xtract is now available for ARM processors.</p></div><div id="release6.Version_8_20_March_12_2018"><h3>Version 8.20: March 12, 2018</h3><p>&#x02022; Minor changes to local record archiving scripts.</p></div><div id="release6.Version_8_10_March_2_2018"><h3>Version 8.10: March 2, 2018</h3><p>&#x02022; Xtract -strict and -mixed support MathML element tags in PubmedArticle XML.</p></div><div id="release6.Version_8_00_February_26_2018"><h3>Version 8.00: February 26, 2018</h3><p>&#x02022; Efetch -raw skips database-specific XML modifications.</p><p>&#x02022; Added local-phrase-search script.</p><p>&#x02022; Xtract -strict, -mixed, and -repair flag speed improvements.</p></div><div id="release6.Version_7_90_February_1_2018"><h3>Version 7.90: February 1, 2018</h3><p>&#x02022; Minor change to installation commands for tcsh.</p></div><div id="release6.Version_7_80_January_12_2018"><h3>Version 7.80: January 12, 2018</h3><p>&#x02022; Updated setup.sh script with additional error checking.</p></div></div><div id="release6.2017"><h2 id="_release6_2017_">2017</h2><div id="release6.Version_7_70_December_27_2017"><h3>Version 7.70: December 27, 2017</h3><p>&#x02022; Added archive-pubmed script to automate local record archiving.</p></div><div id="release6.Version_7_60_November_15_2017"><h3>Version 7.60: November 15, 2017</h3><p>&#x02022; Epost -id numeric argument bug fixed.</p><p>&#x02022; Xtract conditional tests can now use subrange specifiers.</p><p>&#x02022; Xtract -strict and -mixed use separate -repair flag to normalize Unicode superscripts and subscripts.</p></div><div id="release6.Version_7_50_October_31_2017"><h3>Version 7.50: October 31, 2017</h3><p>&#x02022; Setup instructions now work with the tcsh shell.</p><p>&#x02022; API key value is taken from the NCBI_API_KEY environment variable.</p><p>&#x02022; Efetch -format gb supports -style withparts and -style conwithfeat.</p><p>&#x02022; Xtract supports optional element [min:max] substring extraction.</p><p>&#x02022; Xtract -position supports [first|last|outer|inner|all] argument values.</p><p>&#x02022; Added prepare-stash script for local record archive.</p></div><div id="release6.Version_7_40_September_27_2017"><h3>Version 7.40: September 27, 2017</h3><p>&#x02022; Xtract -hash reports checksums for local record archiving.</p><p>&#x02022; Initial support for API keys.</p></div><div id="release6.Version_7_30_September_6_2017"><h3>Version 7.30: September 6, 2017</h3><p>&#x02022; Modified stash-pubmed script to work around Cygwin artifact.</p><p>&#x02022; Removed unpack-pubmed script.</p><p>&#x02022; Xtract -archive replaces -stash for local record archiving.</p><p>&#x02022; Xtract -gzip allows compression of archived XML records.</p></div><div id="release6.Version_7_20_August_28_2017"><h3>Version 7.20: August 28, 2017</h3><p>&#x02022; Added download-pubmed, download-sequence, unpack-pubmed, stash-pubmed, and fetch-pubmed scripts, for experimental local record storage.</p><p>&#x02022; Xtract -flags [strict|mixed] added to support new local storage scripts.</p><p>&#x02022; Removed obsolete, original Perl implementation of xtract.pl.</p></div><div id="release6.Version_7_10_August_10_2017"><h3>Version 7.10: August 10, 2017</h3><p>&#x02022; Xtract -ascii converts non-ASCII Unicode to hexadecimal numeric character references.</p><p>&#x02022; Setup script recognizes Cygwin running under the MinGW emulator.</p></div><div id="release6.Version_7_00_July_10_2017"><h3>Version 7.00: July 10, 2017</h3><p>&#x02022; Xtract -mixed and -strict handle multiply-escaped HTML tags.</p><p>&#x02022; Efetch removes normal and escaped HTML tags from PubMed fields.</p><p>&#x02022; Esearch -field processes individual query terms using the designated field, also removing stop words.</p><p>&#x02022; Esearch -pairs splits the query phrase into adjacent overlapping word pairs.</p></div><div id="release6.Version_6_90_July_5_2017"><h3>Version 6.90: July 5, 2017</h3><p>&#x02022; Xtract -mixed replaces -relaxed, and -accent replaces -plain.</p><p>&#x02022; Efetch uses larger chunks for -format uid, url, and acc.</p><p>&#x02022; Esearch -log shows constructed URL and QueryTranslation result.</p></div><div id="release6.Version_6_80_June_8_2017"><h3>Version 6.80: June 8, 2017</h3><p>&#x02022; Modified download instructions to use edirect.tar.gz archive.</p><p>&#x02022; The ftp-cp script can now read from stdin without the need for xargs.</p><p>&#x02022; Rerunning ftp-cp or asp-cp only attempts to download missing files.</p></div><div id="release6.Version_6_70_May_8_2017"><h3>Version 6.70: May 8, 2017</h3><p>&#x02022; Added asp-cp script for faster download of NCBI ftp files using Aspera Connect.</p><p>&#x02022; Xtract -strict and -relaxed handle empty HTML tag variants (e.g., &#x0003c;b/&#x0003e; and &#x0003c;sup/&#x0003e;).</p></div><div id="release6.Version_6_60_April_25_2017"><h3>Version 6.60: April 25, 2017</h3><p>&#x02022; Xtract -strict replaces -degloss to remove HTML &#x0003c;i&#x0003e;, &#x0003c;b&#x0003e;, &#x0003c;u&#x0003e;, &#x0003c;sup&#x0003e; and &#x0003c;sub&#x0003e; tags from XML contents.</p><p>&#x02022; Xtract -relaxed allows HTML tags in XML contents, to support current PubMed ftp release files.</p><p>&#x02022; Xtract -plain removes Unicode accents.</p><p>&#x02022; The setup.sh script prints an error message if it cannot fetch missing Perl modules.</p></div><div id="release6.Version_6_50_March_6_2017"><h3>Version 6.50: March 6, 2017</h3><p>&#x02022; Xtract -degloss replaces -html to remove HTML &#x0003c;i&#x0003e;, &#x0003c;b&#x0003e;, &#x0003c;u&#x0003e;, &#x0003c;sup&#x0003e; and &#x0003c;sub&#x0003e; tags.</p></div><div id="release6.Version_6_40_March_1_2017"><h3>Version 6.40: March 1, 2017</h3><p>&#x02022; Epost detects accession.version input for sequence databases and sets -format acc.</p><p>&#x02022; Xtract -html [remove|encode] converts &#x0003c;i&#x0003e; and &#x0003c;b&#x0003e; tags embedded in XML contents.</p></div><div id="release6.Version_6_30_February_13_2017"><h3>Version 6.30: February 13, 2017</h3><p>&#x02022; Efetch -format docsum skips GI-less sequences without summaries.</p><p>&#x02022; Xtract local indexing commands moved to -extras documentation.</p></div><div id="release6.Version_6_20_January_30_2017"><h3>Version 6.20: January 30, 2017</h3><p>&#x02022; Xtract -limit and -index allow extraction of selected records from XML file.</p></div><div id="release6.Version_6_10_January_19_2017"><h3>Version 6.10: January 19, 2017</h3><p>&#x02022; Added run-ncbi-converter script for processing ASN.1 release files.</p><p>&#x02022; Xtract -format flush option added.</p><p>&#x02022; Removed obsolete accession-dot-version conversion code.</p></div></div><div id="release6.2016"><h2 id="_release6_2016_">2016</h2><div id="release6.Version_6_00_December_27_2016"><h3>Version 6.00: December 27, 2016</h3><p>&#x02022; Efetch -format docsum removes eSummaryResult wrapper.</p><p>&#x02022; Fixed content truncation bug when Xtract encounters very long sequences.</p></div><div id="release6.Version_5_90_December_21_2016"><h3>Version 5.90: December 21, 2016</h3><p>&#x02022; Efetch and Elink readied for switch to accession-dot-version sequence identifier.</p><p>&#x02022; Xtract -insd recognizes INSDInterval_iscomp@value and other boolean attributes.</p><p>&#x02022; Xtract adds experimental phrase processing commands for word index preparation.</p></div><div id="release6.Version_5_80_December_12_2016"><h3>Version 5.80: December 12, 2016</h3><p>&#x02022; Efilter adds shortcuts for -db gene (e.g., -status alive, -type coding).</p><p>&#x02022; Xtract numeric conditional tests can use an element name for the second argument (e.g., -if ChrStop -lt ChrStart finds minus strand genes).</p></div><div id="release6.Version_5_70_November_30_2016"><h3>Version 5.70: November 30, 2016</h3><p>&#x02022; Xtract -format takes an optional [compact|indent|expand] argument. Processing compact XML is about 15% faster than indent form. Using expand places each attribute on a separate line for ease of reading.</p></div><div id="release6.Version_5_60_November_22_2016"><h3>Version 5.60: November 22, 2016</h3><p>&#x02022; Fixed bug in -datetype argument for Esearch and Efilter.</p><p>&#x02022; Added optional argument to filter-stop-words script to indicate replacement.</p></div><div id="release6.Version_5_50_November_16_2016"><h3>Version 5.50: November 16, 2016</h3><p>&#x02022; Efetch -id allows non-numeric accessions only for sequence databases.</p><p>&#x02022; Xtract element selection no longer considers fields in recursive sub-objects.</p><p>&#x02022; Xtract introduces a double-star "**/Object" construct to flatten recursive child objects for linear exploration.</p><p>&#x02022; Xtract conditional tests ignore empty self-closing tags.</p><p>&#x02022; Xtract -else simplifies insertion of a placeholder to indicate missing data.</p></div><div id="release6.Version_5_40_November_7_2016"><h3>Version 5.40: November 7, 2016</h3><p>&#x02022; Added filter-stop-words and xy-plot scripts.</p></div><div id="release6.Version_5_30_October_31_2016"><h3>Version 5.30: October 31, 2016</h3><p>&#x02022; Added support for ecitmatch utility.</p><p>&#x02022; Added amino-acid-composition and between-two-genes scripts.</p><p>&#x02022; The sort-uniq-count and sort-uniq-count-rank scripts take an optional argument (e.g., -n for numeric comparisons, -r to reverse order).</p></div><div id="release6.Version_5_20_October_26_2016"><h3>Version 5.20: October 26, 2016</h3><p>&#x02022; Setup script no longer modifies the user's configuration file to update the PATH variable. Instead, it now prints customized instructions for the user to execute. The user may choose to run these commands, but is free to edit the .bash_profile file manually.</p><p>&#x02022; Xtract deprecates -match and -avoid functions and the Element:Value conditional shortcut.</p><p>&#x02022; Xtract -if and -unless commands use compound statements for conditional execution (e.g., -if Element -equals Value).</p><p>&#x02022; Colon now separates namespace prefix from element name in xtract arguments (e.g., -block jats:abstract). Colon at start of element name matches any namespace prefix.</p><p>&#x02022; Xtract -insd uses a dash as placeholder for missing field. Experimental -insdx command is deprecated.</p><p>&#x02022; Precompiled versions of xtract are now provided for Darwin, Linux, and CYGWIN_NT platforms. The appropriate executable is downloaded by the setup script.</p></div><div id="release6.Version_5_10_October_13_2016"><h3>Version 5.10: October 13, 2016</h3><p>&#x02022; Xtract adds -0-based, -1-based, and -ucsc numeric extraction/conversion commands for sequence positions from several Entrez databases.</p></div><div id="release6.Version_5_00_September_26_2016"><h3>Version 5.00: September 26, 2016</h3><p>&#x02022; Efetch -format fasta removes blank lines between records.</p><p>&#x02022; Xtract -insdx uses a dash to indicate a missing field.</p><p>&#x02022; Xtract -insd no longer has blank lines between records.</p><p>&#x02022; Xtract -input allows reading XML data from a file.</p></div><div id="release6.Version_4_90_September_14_2016"><h3>Version 4.90: September 14, 2016</h3><p>&#x02022; Epost -input allows reading from an input file instead of using data piped through stdin.</p><p>&#x02022; Efilter now supports the -sort argument.</p><p>&#x02022; Xtract -filter can recover information in XML comments and CDATA blocks.</p></div><div id="release6.Version_4_80_August_9_2016"><h3>Version 4.80: August 9, 2016</h3><p>&#x02022; Xtract -insd controlled vocabularies updated.</p></div><div id="release6.Version_4_70_August_4_2016"><h3>Version 4.70: August 4, 2016</h3><p>&#x02022; Einfo -db request can also display -fields and -links data summaries.</p><p>&#x02022; Einfo -dbs prints database names instead of eInfoResult XML.</p></div><div id="release6.Version_4_60_July_18_2016"><h3>Version 4.60: July 18, 2016</h3><p>&#x02022; Elink -cmd acheck returns information on all available links for a record.</p><p>&#x02022; Efilter -pub structured limits to articles with structured abstracts.</p></div><div id="release6.Version_4_50_July_1_2016"><h3>Version 4.50: July 1, 2016</h3><p>&#x02022; Esearch and Efilter detect and report -query phrase quotation errors.</p><p>&#x02022; Efilter -pub shortcut adds last_week, last_month, and last_year choices.</p><p>&#x02022; Efetch sets -strand 2 for minus strand if -seq_start &#x0003e; -seq_stop or if -chr_start &#x0003e; -chr_stop.</p></div><div id="release6.Version_4_40_June_21_2016"><h3>Version 4.40: June 21, 2016</h3><p>&#x02022; Transitioning to use of https for access to NCBI services.</p><p>&#x02022; Epost -db assembly -format acc uses [ASAC] field instead of [ACCN].</p></div><div id="release6.Version_4_30_June_13_2016"><h3>Version 4.30: June 13, 2016</h3><p>&#x02022; Efilter -pub preprint limits results to ahead-of-print articles.</p><p>&#x02022; Xtract -pattern Parent/* construct can now process catenated XML files.</p></div><div id="release6.Version_4_20_May_24_2016"><h3>Version 4.20: May 24, 2016</h3><p>&#x02022; Xtract command-line argument parsing improvements.</p><p>&#x02022; Nquire -get supersedes -http get.</p></div><div id="release6.Version_4_10_May_3_2016"><h3>Version 4.10: May 3, 2016</h3><p>&#x02022; Xtract -format removes multi-line XML comments and CDATA blocks.</p></div><div id="release6.Version_4_00_April_4_2016"><h3>Version 4.00: April 4, 2016</h3><p>&#x02022; Esearch adds -spell to correct known misspellings of biological terms in the query string.</p><p>&#x02022; Efilter adds -spell to correct query misspellings, and -pub, -feature, -location, -molecule, -organism, and -source shortcuts. Run efilter -help to see the choices available for each argument.</p></div><div id="release6.Version_3_90_March_21_2016"><h3>Version 3.90: March 21, 2016</h3><p>&#x02022; Code optimizations for increased Xtract speed.</p></div><div id="release6.Version_3_80_February_29_2016"><h3>Version 3.80: February 29, 2016</h3><p>&#x02022; Xtract can distribute its work among available processor cores for additional speed.</p></div><div id="release6.Version_3_70_February_8_2016"><h3>Version 3.70: February 8, 2016</h3><p>&#x02022; Xtract performance improvements.</p></div><div id="release6.Version_3_60_January_11_2016"><h3>Version 3.60: January 11, 2016</h3><p>&#x02022; The setup.sh configuration script now downloads a precompiled Xtract executable for selected platforms.</p></div></div><div id="release6.2015"><h2 id="_release6_2015_">2015</h2><div id="release6.Version_3_50_December_27_2015"><h3>Version 3.50: December 27, 2015</h3><p>&#x02022; Xtract reports error for element:value construct outside of -match or -avoid arguments.</p></div><div id="release6.Version_3_40_December_20_2015"><h3>Version 3.40: December 20, 2015</h3><p>&#x02022; Xtract -insd supports extraction from multiple features (e.g., CDS,mRNA).</p></div><div id="release6.Version_3_30_December_3_2015"><h3>Version 3.30: December 3, 2015</h3><p>&#x02022; Efetch -format docsum can accept a single sequence accession number in the -id argument.</p></div><div id="release6.Version_3_20_November_30_2015"><h3>Version 3.20: November 30, 2015</h3><p>&#x02022; Xtract supports -match conditional execution on values recorded in variables.</p></div><div id="release6.Version_3_10_November_18_2015"><h3>Version 3.10: November 18, 2015</h3><p>&#x02022; Efetch adds -chr_start and -chr_stop arguments to specify sequence range from 0-based coordinates in gene docsum GenomicInfoType object.</p></div><div id="release6.Version_3_00_October_30_2015"><h3>Version 3.00: October 30, 2015</h3><p>&#x02022; Xtract rewritten in the Go programming language for speed. The setup.sh configuration script installs an older Perl version (2.99) if a local Go compiler is unavailable.</p><p>&#x02022; Efetch -format docsum only decodes HTML entity numbers in select situations.</p></div><div id="release6.Version_2_90_October_15_2015"><h3>Version 2.90: October 15, 2015</h3><p>&#x02022; Xtract warns on use of deprecated arguments -present, -absent, and -trim, in preparation for release of much faster version.</p></div><div id="release6.Version_2_80_September_9_2015"><h3>Version 2.80: September 9, 2015</h3><p>&#x02022; Xtract uses the "*/Child" construct for nested exploration into recursive structures, replacing the -trim argument.</p></div><div id="release6.Version_2_70_July_14_2015"><h3>Version 2.70: July 14, 2015</h3><p>&#x02022; Added entrez-phrase-search script to query on adjacent word pairs indexed in specific fields.</p></div><div id="release6.Version_2_60_June_23_2015"><h3>Version 2.60: June 23, 2015</h3><p>&#x02022; Xtract -match and -avoid support "Parent/Child" construct for BLAST XML.</p></div><div id="release6.Version_2_50_April_9_2015"><h3>Version 2.50: April 9, 2015</h3><p>&#x02022; Xtract capitalized -Pattern handles recursively-defined top-level objects.</p></div><div id="release6.Version_2_40_March_25_2015"><h3>Version 2.40: March 25, 2015</h3><p>&#x02022; EDirect programs use the http_proxy environment variable to work behind firewalls.</p></div><div id="release6.Version_2_30_March_11_2015"><h3>Version 2.30: March 11, 2015</h3><p>&#x02022; Cleaned up logic in setup.sh configuration script.</p><p>&#x02022; EPost -format acc works properly on protein accessions.</p></div><div id="release6.Version_2_20_March_4_2015"><h3>Version 2.20: March 4, 2015</h3><p>&#x02022; Xtract -match and -avoid recognize "@attribute" without element or value.</p></div><div id="release6.Version_2_10_February_3_2015"><h3>Version 2.10: February 3, 2015</h3><p>&#x02022; Added ftp-ls and ftp-cp scripts for convenient access to the NCBI anonymous ftp server.</p></div></div><div id="release6.2014"><h2 id="_release6_2014_">2014</h2><div id="release6.Version_2_00_August_28_2014"><h3>Version 2.00: August 28, 2014</h3><p>&#x02022; Introduced copy-and-paste installation commands with setup.sh configuration script.</p></div><div id="release6.Version_1_90_August_8_2014"><h3>Version 1.90: August 8, 2014</h3><p>&#x02022; Xtract -format combines multiple XML results into a single valid object.</p><p>&#x02022; Improved suppression of 0-count failure messages with -silent flag in scripts.</p></div><div id="release6.Version_1_80_July_15_2014"><h3>Version 1.80: July 15, 2014</h3><p>&#x02022; EPost -format acc accepts accessions in an -id argument on the command line.</p></div><div id="release6.Version_1_70_April_23_2014"><h3>Version 1.70: April 23, 2014</h3><p>&#x02022; EFetch -format docsum decodes HTML entity numbers embedded in the text.</p></div><div id="release6.Version_1_60_April_3_2014"><h3>Version 1.60: April 3, 2014</h3><p>&#x02022; Minor enhancements to xtract -insd.</p></div><div id="release6.Version_1_50_March_29_2014"><h3>Version 1.50: March 29, 2014</h3><p>&#x02022; Esearch -sort specifies the order of results when records are retrieved.</p><p>&#x02022; Xtract exploration arguments (e.g., -block) now work on self-closing tags with data in attributes.</p></div><div id="release6.Version_1_40_March_17_2014"><h3>Version 1.40: March 17, 2014</h3><p>&#x02022; Xtract -format repairs XML line-wrapping and indentation.</p><p>&#x02022; Implemented -help flag to display the list of command-line arguments for each function.</p></div><div id="release6.Version_1_30_March_3_2014"><h3>Version 1.30: March 3, 2014</h3><p>&#x02022; Xtract -insd partial logic was corrected to examine both 5' and 3' partial flags, and the location indicator recognizes "+" or "complete" and "-" or "partial".</p></div><div id="release6.Version_1_20_February_26_2014"><h3>Version 1.20: February 26, 2014</h3><p>&#x02022; Xtract -insd detects if it is part of an EDirect sequence record query, and dynamically executes the extraction request for specific qualifier values. When run in isolation it generates extraction instructions that can be incorporated (with modifications, if necessary) into other queries.</p></div><div id="release6.Version_1_10_February_10_2014"><h3>Version 1.10: February 10, 2014</h3><p>&#x02022; ESummary was replaced by "efetch -format docsum" to provide a single command for all document retrieval. The esummary command will continue to work for those who prefer it, and to avoid breaking existing scripts.</p><p>&#x02022; Xtract processes each -pattern object immediately upon receipt, eliminating the need for using xargs and sh to split document retrieval into smaller units.</p></div><div id="release6.Version_1_00_February_6_2014"><h3>Version 1.00: February 6, 2014</h3><p>&#x02022; Initial public release.</p></div></div><div id="release6.2013"><h2 id="_release6_2013_">2013</h2><div id="release6.Version_0_00_April_23_2013"><h3>Version 0.00: April 23, 2013</h3><p>&#x02022; Initial check-in of web documentation page.</p></div><div id="release6.Version_0_00_March_20_2013"><h3>Version 0.00: March 20, 2013</h3><p>&#x02022; Initial check-in of edirect.pl script source code.</p></div></div><div id="bk_toc_contnr"></div></div></div>
<div class="post-content"><div><div class="half_rhythm"><a href="/books/about/copyright/">Copyright Notice</a></div><div class="small"><span class="label">Bookshelf ID: NBK564895</span></div><div style="margin-top:2em" class="bk_noprnt"><a class="bk_cntns" href="/books/n/helpeutils/">Contents</a><div class="pagination bk_noprnt"><a class="active page_link prev" href="/books/n/helpeutils/chapter6/" title="Previous page in this title">&lt; Prev</a><a class="active page_link next" href="/books/n/helpeutils/example6/" title="Next page in this title">Next &gt;</a></div></div></div></div>
</div>
</div>
</div>
<div class="bottom">
<div id="NCBIFooter_dynamic">
<!--<component id="Breadcrumbs" label="breadcrumbs"/>
<component id="Breadcrumbs" label="helpdesk"/>-->
</div>
<script type="text/javascript" src="/portal/portal3rc.fcgi/rlib/js/InstrumentNCBIBaseJS/InstrumentPageStarterJS.js"> </script>
</div>
</div>
<!--/.page-->
</div>
<!--/.wrap-->
</div><!-- /.twelve_col -->
</div>
<!-- /.grid -->
<span class="PAFAppResources"></span>
<!-- BESelector tab -->
<noscript><img alt="statistics" src="/stat?jsdisabled=true&amp;ncbi_db=books&amp;ncbi_pdid=book-part&amp;ncbi_acc=NBK564895&amp;ncbi_domain=helpeutils&amp;ncbi_report=printable&amp;ncbi_type=fulltext&amp;ncbi_objectid=&amp;ncbi_pcid=/NBK564895/?report=printable&amp;ncbi_app=bookshelf" /></noscript>
<!-- usually for JS scripts at page bottom -->
<!--<component id="PageFixtures" label="styles"></component>-->
<!-- CE8B5AF87C7FFCB1_0191SID /projects/books/PBooks@9.11 portal107 v4.1.r689238 Tue, Oct 22 2024 16:10:51 -->
<span id="portal-csrf-token" style="display:none" data-token="CE8B5AF87C7FFCB1_0191SID"></span>
<script type="text/javascript" src="//static.pubmed.gov/portal/portal3rc.fcgi/4216699/js/3879255/4121861/3501987/4008961/3893018/3821238/3400083/3426610.js" snapshot="books"></script></body>
</html>