How to programmatically classify a protein according to its genbank feature
Using the UniProt website API (https://www.uniprot.org/help/api) this could be done with a query like
https://www.uniprot.org/uniprot/?query=name%3A%22type%20IV%20secretion%20protein%20Rhs%22&amp;columns=id%2Centry%20name%2Creviewed%2Cprotein%20names%2Cgenes%2Cgo(biological%20process)%2Cgo(molecular%20function)%2Cgo(cellular%20component)&amp;sort=score
or, in tab-separated format:
https://www.uniprot.org/uniprot/?query=name:%22type%20IV%20secretion%20protein%20Rhs%22&amp;format=tab&amp;limit=10&amp;columns=id,entry%20name,reviewed,protein%20names,genes,go(biological%20process),go(molecular%20function),go(cellular%20component)&amp;sort=score
(Remove the &quot;&amp;limit=10&quot; part from the URL to obtain the full set instead of the first 10 entries.)
You can add colums as described here:
https://www.uniprot.org/help/customize,
https://www.youtube.com/watch?v=ado1r8IDm3U (video, at about 1min25)
or
https://insideuniprot.blogspot.com/2015/03
Note that while UniProt tries to improve protein name annotation, the unreviewed section of UniProtKB (i.e. UniProtKB/TrEMBL) is often far from perfect and its accuracy relies on the information provided by the submitter of the nucleotide entry, unless an automatic annotation rule is available to assign a more suitable name (see https://www.uniprot.org/help/protein_names).
Please don't hesitate to contact the UniProt helpdesk if you have any additional questions.