text: user5063: I'm updating a galaxy tool wrapper for Entrez's eutils suite and I'm trying to create a form with valid link selections (among other things) based on the "from" & "to" databases to reduce the size of the select list.
  Einfo doesn't return these links for the gene or nuccore databases. I'd found this resource which seemed to show all the possible links, but it it doesn't show these links either. Yet, in working on elink's acheck feature, using some gene IDs in a test run, I saw 2 links that were not listed in either resource:
  
  gene_nucleotide
  gene_nucleotide_pos
  
  I manually checked that I can use those as link names in valid elink queries. It did return valid results (i.e. no error).
  So I ran elink on the gene database using a few random UIDs to see if I get back a comprehensive list of links (albeit possibly empty results for those links), but it also was missing these 2 links.  I'm concerned that I'm not getting all of the possible links for my form interface and that it could produce valid results and that users may want to link via these links, given prior knowledge that they exist.
  How do I get a comprehensive list of database links from Entrez and why doesn't einfo return all possible links?
  
  user5063: I've been corresponding with NLM about this issue and I finally took the time to try out their suggestion (which personally I found hard to see between the lines and which is not a discrete solution, but rather a very time-consuming manual process containing false positives because they say that to get a formal and comprehensive response to my query:
  
  Collecting the linkname will be a difficult task, that will take time and coordinate/check with relevant groups maintaining individual databases. Your patience will be greatly apprecired. [sic]
  
  It took me a bit to decipher their suggestion on how to manually find all links, so I will share what I've learned.  There is (currently) no codified or formal means to obtain all possible link names and I infer that many links exist simply because they are utilized in the internal workings of their website.  I could be wrong about that, but suffice it to say that there are many undocumented links and they change constantly.
  You can get a list of filter items using each individual database's advanced search web interface, "most of which should be the linkname from that source database to other target database".  (So this should result in all possible links among a series of false positives.)
  Here's how you do that.  Let's take the gene database as an example:
  
  Go to the advanced search web page for that database, e.g. https://www.ncbi.nlm.nih.gov/gene/advanced
  In the "Builder" section, select "Filter"
  Click "Show Index List" to the right of the search term field next to the select list where you selected "Filter" (you will see a multi-select list appear below the search field)
  Click "Next 200" until you find a selection in that new select list matching the database name followed by "all" and a number in parentheses, e.g. gene all (29994947) and click to select that item 
  Click "Refresh index" at the lower right corner next to the multi-select list 
  
  The multi-select list will be repopulated and most of the items will be linknames (though you have to replace spaces with underscores in order for those linknames to work with the elink utility).
  Doing this for the gene database and then scrolling through just links to nuccore (and its alias "nucleotide" - ignoring est and gss), you will find:
  
  gene nuccore
  gene nuccore clust
  gene nuccore mgc
  gene nuccore pos
  gene nuccore refseqgene
  gene nuccore refseqrna
  gene nucleotide
  gene nucleotide clust
  gene nucleotide mgc
  gene nucleotide mgc url
  gene nucleotide pos
  
  If you look only at the linknames in the documentation or via einfo (by supplying the gene database and looking at similar links to nuccore), you only get these links:
  
  gene_nuccore
  gene_nuccore_mgc
  gene_nuccore_refseqgene
  gene_nuccore_refseqrna
  gene_nucleotide_mgc_url
  
  So I believe that given this information and the ever-changing nature of these links, I believe I will allow the user the option to enter a linkname manually, if the set in the select list I generate via einfo does not contain the link they need.
  
original_text: 5063: <p>I'm updating a galaxy tool wrapper for Entrez's eutils suite and I'm trying to create a form with valid link selections (among other things) based on the &quot;from&quot; &amp; &quot;to&quot; databases to reduce the size of the select list.</p>
  <p>Einfo doesn't return these links for the gene or nuccore databases. I'd found <a href="https://eutils.ncbi.nlm.nih.gov/entrez/query/static/entrezlinks.html#gene" rel="nofollow noreferrer">this resource</a> which seemed to show all the possible links, but it it doesn't show these links either. Yet, in working on <code>elink</code>'s <code>acheck</code> feature, using some gene IDs in a test run, I saw 2 links that were not listed in either resource:</p>
  <ul>
  <li>gene_nucleotide</li>
  <li>gene_nucleotide_pos</li>
  </ul>
  <p>I manually checked that I can use those as link names in valid elink queries. It did return valid results (i.e. no error).</p>
  <p>So I ran elink on the <code>gene</code> database using a few random UIDs to see if I get back a comprehensive list of links (albeit possibly empty results for those links), but it also was missing these 2 links.  I'm concerned that I'm not getting all of the possible links for my form interface and that it could produce valid results and that users may want to link via these links, given prior knowledge that they exist.</p>
  <p>How do I get a comprehensive list of database links from Entrez and why doesn't einfo return all possible links?</p>
   5063: <p>I've been corresponding with NLM about this issue and I finally took the time to try out their suggestion (which personally I found hard to see between the lines and which is not a discrete solution, but rather a very time-consuming manual process containing false positives because they say that to get a formal and comprehensive response to my query:</p>
  <blockquote>
  <p>Collecting the linkname will be a difficult task, that will take time and coordinate/check with relevant groups maintaining individual databases. Your patience will be greatly apprecired. [sic]</p>
  </blockquote>
  <p>It took me a bit to decipher their suggestion on how to manually find all links, so I will share what I've learned.  There is (currently) no codified or formal means to obtain all possible link names and I infer that many links exist simply because they are utilized in the internal workings of their website.  I could be wrong about that, but suffice it to say that there are many undocumented links and they change constantly.</p>
  <p>You can get a list of filter items using each individual database's advanced search web interface, &quot;most of which should be the linkname from that source database to other target database&quot;.  (So this should result in all possible links among a series of false positives.)</p>
  <p>Here's how you do that.  Let's take the gene database as an example:</p>
  <ol>
  <li>Go to the advanced search web page for that database, e.g. <a href="https://www.ncbi.nlm.nih.gov/gene/advanced" rel="nofollow noreferrer">https://www.ncbi.nlm.nih.gov/gene/advanced</a></li>
  <li>In the &quot;Builder&quot; section, select &quot;Filter&quot;</li>
  <li>Click &quot;Show Index List&quot; to the right of the search term field next to the select list where you selected &quot;Filter&quot; (you will see a multi-select list appear below the search field)</li>
  <li>Click &quot;Next 200&quot; until you find a selection in that new select list matching the database name followed by &quot;all&quot; and a number in parentheses, e.g. <code>gene all (29994947)</code> and click to select that item <a href="https://i.stack.imgur.com/eW5Vq.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/eW5Vq.png" alt="enter image description here" /></a></li>
  <li>Click &quot;Refresh index&quot; at the lower right corner next to the multi-select list <a href="https://i.stack.imgur.com/WZMmd.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/WZMmd.png" alt="enter image description here" /></a></li>
  </ol>
  <p>The multi-select list will be repopulated and most of the items will be linknames (though you have to replace spaces with underscores in order for those linknames to work with the elink utility).</p>
  <p>Doing this for the gene database and then scrolling through just links to nuccore (and its alias &quot;nucleotide&quot; - ignoring est and gss), you will find:</p>
  <ul>
  <li>gene nuccore</li>
  <li>gene nuccore clust</li>
  <li>gene nuccore mgc</li>
  <li>gene nuccore pos</li>
  <li>gene nuccore refseqgene</li>
  <li>gene nuccore refseqrna</li>
  <li>gene nucleotide</li>
  <li>gene nucleotide clust</li>
  <li>gene nucleotide mgc</li>
  <li>gene nucleotide mgc url</li>
  <li>gene nucleotide pos</li>
  </ul>
  <p>If you look only at the linknames in the documentation or via einfo (by supplying the <code>gene</code> database and looking at similar links to nuccore), you only get these links:</p>
  <ul>
  <li>gene_nuccore</li>
  <li>gene_nuccore_mgc</li>
  <li>gene_nuccore_refseqgene</li>
  <li>gene_nuccore_refseqrna</li>
  <li>gene_nucleotide_mgc_url</li>
  </ul>
  <p>So I believe that given this information and the ever-changing nature of these links, I believe I will allow the user the option to enter a linkname manually, if the set in the select list I generate via einfo does not contain the link they need.</p>
  