From e1fc80e3ea63c2488ae3460f5b85a09972207157 Mon Sep 17 00:00:00 2001 From: Reece Hart Date: Wed, 13 Sep 2023 06:16:04 -0700 Subject: [PATCH] added proposed class hierarchy --- docs/class-hierarchy.drawio.svg | 488 ++++++++++++++++++++++++++++++++ 1 file changed, 488 insertions(+) create mode 100644 docs/class-hierarchy.drawio.svg diff --git a/docs/class-hierarchy.drawio.svg b/docs/class-hierarchy.drawio.svg new file mode 100644 index 0000000..f586f66 --- /dev/null +++ b/docs/class-hierarchy.drawio.svg @@ -0,0 +1,488 @@ + + + + + + +
+
+
+ SeqRepo Planned +
+ Class Hierarchy +
+ (not yet implemented) +
+
+
+
+ + SeqRepo Planned... + +
+
+ + + + +
+
+
+ SeqRepoRW +
+ Adds methods to put data +
+
+
+
+ + SeqRepoRW... + +
+
+ + + + + + +
+
+
+ SeqRepoRO +
+ Defines the methods that all backends MUST provide for read-only alias and sequence access +
+
+
+
+ + SeqRepoRO... + +
+
+ + + + + + +
+
+
+ FastaDir +
+ Existing implementatoin, adapted to use Interface +
+
+
+
+ + FastaDir... + +
+
+ + + + + + +
+
+
+ Redis +
+ Impements redis backend for sequences and aliases +
+
+
+
+ + Redis... + +
+
+ + + + + + +
+
+
+ LocalCache +
+ Implements local cache, perhaps just a FastaDir implementation +
+
+
+
+ + LocalCache... + +
+
+ + + + + + +
+
+
+ Federated +
+ Implements federated lookups over a set of SeqRepo clients +
+
+
+
+ + Federated... + +
+
+ + + + + + +
+
+
+ REST +
+ Implements a REST client +
+ (new REST server to be implemented separately) +
+
+
+
+ + REST... + +
+
+ + + + + + +
+
+
+ NCBI +
+ Implements sequence lookup with NCBI eutils +
+
+
+
+ + NCBI... + +
+
+ + + + + + +
+
+
+ RefGet +
+ Implements sequence lookup w/RefGet +
+
+
+
+ + RefGet... + +
+
+ + + +
+
+
+ connect(path) +
+
+ fastadir+file:/// +
+ or just a path +
+
+
+
+ + connect(path)... + +
+
+ + + +
+
+
+ connect(uri) +
+
+ redis: +
+
+
+
+ + connect(uri)... + +
+
+ + + +
+
+
+ connect(path, instance) +
+
+ localcache+file:/// +
+
+
+
+ + connect(path, instance)... + +
+
+ + + +
+
+
+ connect(instance list) +
+
+ (not available) +
+
+
+
+ + connect(instance list)... + +
+
+ + + +
+
+
+ connect(url) +
+
+ https:// +
+
+
+
+ + connect(url)... + +
+
+ + + +
+
+
+ connect(url, creds) +
+
+ (not available) +
+
+
+
+ + connect(url, creds)... + +
+
+ + + +
+
+
+ connect(?) +
+
+ refget+https://... +
+
+
+
+ + connect(?)... + +
+
+ + + + +
+
+
+ SeqRepo (deprecated) +
+ No interface change, but warning when instatiating +
+
+
+
+ + SeqRepo (deprecated)... + +
+
+ + + +
+
+
+ connect() method: +
+
+ connection string format +
+ for config file and environment variable +
+
+
+
+ + connect() method:... + +
+
+ + + + +
+
+
+ Phase 1: Interface Refactor +
+
+
+
+ + Phase 1: Interface Refactor + +
+
+ + + + +
+
+
+ Phase 2: Near-term Backends +
+
+
+
+ + Phase 2: Near-term Backends + +
+
+ + + + +
+
+
+ Phase 3: Aspriational Backends +
+
+
+
+ + Phase 3: Aspriational Backends + +
+
+ + + + +
+
+
+ S3 +
+ Impements AWS S3 backend for sequences and aliases +
+
+
+
+ + S3... + +
+
+ + + + + +
+
+
+ connect(uri) +
+
+ s3: +
+
+
+
+ + connect(uri)... + +
+
+
+ + + + + Text is not SVG - cannot display + + + +
\ No newline at end of file