Opened 5 years ago
#3575 assigned enhancement
Make format_name optional in bundle_info.xml database fetch provider tag
Reported by: | Tom Goddard | Owned by: | pett |
---|---|---|---|
Priority: | moderate | Milestone: | |
Component: | Input/Output | Version: | |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Notify when closed: | Platform: | all | |
Project: | ChimeraX |
Description
The format_name provider tag attribute for fetching database files does not make much sense. The fetching code returns models and not files so it is mysterious why it wants a format name. A fetch could use a REST API that does not involve a file. But omitting the format_name causes ChimeraX not to start. Another case are fetches like rcsb_bio for biological units that may get two formats, mmCIF or old PDB format. The format_name tag currently does not allow specifying more than one format.
<Provider name="rcsb_bio" type="fetch" format_name="mmcif" example_ids="6ts0" />
Eric has explained that format_name was historical from older fetching code but that it is currently used to decide if the fetch should set the session.in_script flag when fetching the file, and also the log collating flag, based on whether the format is annotated as being a script or needing log collation. These would be better handled by provider tags "in_script" and "collate" or alternatively let the fetching code itself set those flags if needed.
The FetcherInfo class fetch() method also takes a mandatory format_name argument which is confusing and should be an optional argument.