Skip to content

doc: Notebook and documentation improvements #9

@ggazzola

Description

@ggazzola

This is the main TODO list, and refers to the steps in the 03_SimpleTutorial notebook. Details and discussion on the items in the list are in subsequent comments.

General

  • Review minor documentation edits here.

  • Omit all print commands that are currently used for "debugging" purposes (e.g., in Steps 1,2,3, etc.) and replace them with a validation/test within an existing function (e.g., have daptics.connect() check if daptics.gql.__dict__ contains the gql attribute and throw an error if it doesn't).

  • Hide (e.g., within existing functions) all variables that the user should not change.

  • Merge steps {5,6}, {9,10}, and {13,10} <--> E.g., hide the daptics.poll_for_current_task() call in a while loop within daptics.save_experimental_and_space_parameters_csv() / daptics.save_experimental_and_space_parameters_csv() / daptics.save_experiment_responses_csv() and break the loop when status == success.

  • Document how to execute a code block ("getting started")

  • Document how to re-start from scratch ("getting started")

  • Document how to implement the [generate design - upload responses] loop (for users who would benefit from full automation, e.g., users that perform simulated experiments)

  • Document that there is a way to go from design to design + responses = experiments for then next design without using CSV files, using in-memory Python structures only.

  • Document how to retrieve the design/responses of generation n.

  • Keep track of the last completed task/step, so that the function(s) called at step X can return an error message like "You can run this step only after running Step Y" if the user tries to run step X at the wrong time.

  • Document how to recover from a failed step

  • [postpone] Add input/file validation (e.g., return informative errors if file format is wrong).

  • [not natural] Change step index from "Step 1", "Step 2", ... to "Step A", "Step B", ... (to avoid confusion between step index and the index within brackets in In [ ] on the left side of each code cell).

Step 3

  • If you create a session with the same name of a previously API-generated session you get an error (OK), but the error message is not understandable.

  • Will the user ever want to set is_Demo=True? If so, explain when/why in the documentation. If not, hide the is_Demo=False statement (e.g., within daptics.create_session())

  • This piece of documentation may be a bit unclear: "To avoid parsing bugs, add blank padding columns for rows that have fewer parameter values, so that the CSV file has the same number of columns on each row." Maybe add an example?

  • Documentation: A bit unclear what is meant by "home page" of the "Jupyter server".

  • Documentation: factorial_space.csv is inconsistent with fname = 'esd-mixture-5.csv'.

Step 7

  • I don't quite understand this step: why are we exporting to/reimporting from an extra validated_space.csv file? Can't we simply print the space file that was specified in Step 5 (or skip Step 7 altogether)?

Step 8

  • Documentation: clarify that we present three different options/ways of running step 8, and that the user should choose one of them.

  • BUG: The first of the three Step-8 options generates an error (NameError: name 'colHeaders' is not defined)

  • Documentation (alternate step): The parameter names in the file are V11, V12, V13, not param1,param2,param3,param4. Maybe change names in the file to param1,param2,param3 and remove param4 in the documentation?

Step 9

  • Documentation: "Submit the initial experiments file downloaded" --> "Submit the initial experiments file created" ?

Step 11

  • gen and fname should be calculated automatically, and not be left for the user to define (see 'Hide ...' in General); remove the 'We always need to specify the design generation number to retrieve a design" bit in the documentation.

  • Why not saving the N-th design directly to genN_experiments.csv, rather than saving it to genN_design.csv and having the user manually duplicate and rename that file in the next step?

Step 12

  • Documentation: clarify that we present two different ways of running step 12, and that the user should choose one of them.

  • Documentation: explain what the user should to if he does have extra experiments (and explain what extra experiments are)

Step 13

  • Often freezes with errors like:
status = running -- 37 seconds.
Error:  HTTPConnectionPool(host='inertia.protolife.com', port=8080): Read timed out. (read timeout=None)

Metadata

Metadata

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions