Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Field Data Endpoint Implementation #1406

Merged
merged 37 commits into from
Jan 13, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
283c7a6
Format Files to Follow Spacing Rules
AvocadoMoon Nov 25, 2024
ff674ee
Refactor Field Data DB Functions
AvocadoMoon Nov 25, 2024
6a05dbe
Implement DB Endpoints
AvocadoMoon Nov 26, 2024
a1ab4bc
DTO to Internal Class Conversion
AvocadoMoon Dec 11, 2024
0d20c36
Move Field Data File Conversion
AvocadoMoon Dec 11, 2024
52cb9a6
Simplify Field Data GUI Panel
AvocadoMoon Dec 17, 2024
4a4bdb6
Client Communicate with Rest Endpoint for Adding Field Data
AvocadoMoon Dec 17, 2024
18aacaa
Server Side Add Field Data
AvocadoMoon Dec 17, 2024
7f91d0b
Implement Delete For Rest Endpoint
AvocadoMoon Dec 18, 2024
7fec4c5
Use Rest Endpoint Delete On Java Client
AvocadoMoon Dec 18, 2024
a4910eb
Updated Java Client
AvocadoMoon Dec 20, 2024
a2c8d7c
Add File Uploading Dependency
AvocadoMoon Dec 20, 2024
7c90e6a
Retrieve Field Data IDs and Shape Information With Rest
AvocadoMoon Dec 23, 2024
a9f2716
Add Tests For The Field Data Endpoint
AvocadoMoon Dec 23, 2024
b66beab
Verify User and Self-Identified User
AvocadoMoon Dec 27, 2024
e6d0d53
Ignore Un-Required Class Functions
AvocadoMoon Jan 1, 2025
3ff2f65
Update Test Utils and Docker Setup ReadME
AvocadoMoon Jan 1, 2025
209b0d9
Getting All Field Data IDs Returns a List
AvocadoMoon Jan 1, 2025
891d636
Add Field Data Analysis and Revise Some Endpoints
AvocadoMoon Jan 1, 2025
7f071c8
Rename DTO For Clarity
AvocadoMoon Jan 2, 2025
e991a9a
OpenAPI YAML
AvocadoMoon Jan 2, 2025
9f7a999
Move Python Scripts to Their Own Package
AvocadoMoon Jan 2, 2025
2e9bd83
Sensible Defaults for Python Interactive Login
AvocadoMoon Jan 2, 2025
9c3e708
Python Script which Exercises the Field Data Endpoint
AvocadoMoon Jan 2, 2025
a2c84b5
Update Python Clients Dependencies
AvocadoMoon Jan 2, 2025
6c3736f
Auto Generated Rest Clients
AvocadoMoon Jan 2, 2025
0d02999
Test For File Uploading
AvocadoMoon Jan 3, 2025
40bf479
Update Python Version to Work in CI
AvocadoMoon Jan 3, 2025
acbc289
Add Spring Salad Override
AvocadoMoon Jan 3, 2025
8ff720f
Regenerated Client
AvocadoMoon Jan 3, 2025
c396420
Update Client Models, Docs, and Tests
AvocadoMoon Jan 3, 2025
74cd384
Revert PyProject to It's Old Form
AvocadoMoon Jan 3, 2025
86b335e
Reset Spacing for Field Data Driver
AvocadoMoon Jan 6, 2025
e9fd222
Add SQL Exception
AvocadoMoon Jan 6, 2025
dbd1742
Clean Up Broken Imports
AvocadoMoon Jan 10, 2025
6c440d9
Make the Field Data Ref Object Plural
AvocadoMoon Jan 13, 2025
6e3b36d
Client Module Runtime Fix
AvocadoMoon Jan 13, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions docker/swarm/README_zeke_stack_on_linux.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,11 @@
./build.sh --skip-maven --skip-sudo all localhost:5000/virtualcell dev_zeke
popd
```
3. ```bash
pushd ../build
./build.sh --skip-maven --skip-sudo rest localhost:5000/virtualcell dev_zeke
popd
```

3. Run Quarkus in Terminal
``` bash
Expand Down
4 changes: 2 additions & 2 deletions python-restclient/.github/workflows/python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@ jobs:
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"]

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v3
jcschaff marked this conversation as resolved.
Show resolved Hide resolved
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
Expand Down
26 changes: 26 additions & 0 deletions python-restclient/.openapi-generator/FILES
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,28 @@
README.md
docs/AccesTokenRepresentationRecord.md
docs/AdminResourceApi.md
docs/AnalyzedResultsFromFieldData.md
docs/BatchSystemType.md
docs/BioModel.md
docs/BioModelResourceApi.md
docs/BiomodelRef.md
docs/DataIdentifier.md
docs/DetailedState.md
docs/Domain.md
docs/Extent.md
docs/ExternalDataIdentifier.md
docs/FieldDataReference.md
docs/FieldDataResourceApi.md
docs/FieldDataSaveResults.md
docs/FieldDataShape.md
docs/HelloWorldApi.md
docs/HelloWorldMessage.md
docs/HtcJobID.md
docs/ISize.md
docs/Identity.md
docs/KeyValue.md
docs/MathmodelRef.md
docs/Origin.md
docs/Publication.md
docs/PublicationResourceApi.md
docs/SchedulerStatus.md
Expand All @@ -32,13 +43,16 @@ docs/UserLoginInfoForMapping.md
docs/UserRegistrationInfo.md
docs/UsersResourceApi.md
docs/VCSimulationIdentifier.md
docs/VariableDomain.md
docs/VariableType.md
pyproject.toml
test/__init__.py
tox.ini
vcell_client/__init__.py
vcell_client/api/__init__.py
vcell_client/api/admin_resource_api.py
vcell_client/api/bio_model_resource_api.py
vcell_client/api/field_data_resource_api.py
vcell_client/api/hello_world_api.py
vcell_client/api/publication_resource_api.py
vcell_client/api/simulation_resource_api.py
Expand All @@ -49,15 +63,25 @@ vcell_client/configuration.py
vcell_client/exceptions.py
vcell_client/models/__init__.py
vcell_client/models/acces_token_representation_record.py
vcell_client/models/analyzed_results_from_field_data.py
vcell_client/models/batch_system_type.py
vcell_client/models/bio_model.py
vcell_client/models/biomodel_ref.py
vcell_client/models/data_identifier.py
vcell_client/models/detailed_state.py
vcell_client/models/domain.py
vcell_client/models/extent.py
vcell_client/models/external_data_identifier.py
vcell_client/models/field_data_reference.py
vcell_client/models/field_data_save_results.py
vcell_client/models/field_data_shape.py
vcell_client/models/hello_world_message.py
vcell_client/models/htc_job_id.py
vcell_client/models/i_size.py
vcell_client/models/identity.py
vcell_client/models/key_value.py
vcell_client/models/mathmodel_ref.py
vcell_client/models/origin.py
vcell_client/models/publication.py
vcell_client/models/scheduler_status.py
vcell_client/models/simulation_execution_status_record.py
Expand All @@ -72,6 +96,8 @@ vcell_client/models/user.py
vcell_client/models/user_identity_json_safe.py
vcell_client/models/user_login_info_for_mapping.py
vcell_client/models/user_registration_info.py
vcell_client/models/variable_domain.py
vcell_client/models/variable_type.py
vcell_client/models/vc_simulation_identifier.py
vcell_client/py.typed
vcell_client/rest.py
17 changes: 17 additions & 0 deletions python-restclient/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,11 @@ Class | Method | HTTP request | Description
*BioModelResourceApi* | [**delete_bio_model**](docs/BioModelResourceApi.md#delete_bio_model) | **DELETE** /api/v1/bioModel/{bioModelID} | Delete the BioModel from VCell's database.
*BioModelResourceApi* | [**get_biomodel_by_id**](docs/BioModelResourceApi.md#get_biomodel_by_id) | **GET** /api/v1/bioModel/{bioModelID} | Get BioModel information in JSON format by ID.
*BioModelResourceApi* | [**upload_bio_model**](docs/BioModelResourceApi.md#upload_bio_model) | **POST** /api/v1/bioModel/upload_bioModel | Upload the BioModel to VCell database. Returns BioModel ID.
*FieldDataResourceApi* | [**analyze_field_data_file**](docs/FieldDataResourceApi.md#analyze_field_data_file) | **POST** /api/v1/fieldData/analyzeFieldDataFile | Analyze the field data from the uploaded file. Filenames must be lowercase alphanumeric, and can contain underscores.
*FieldDataResourceApi* | [**create_field_data_from_analyzed_file**](docs/FieldDataResourceApi.md#create_field_data_from_analyzed_file) | **POST** /api/v1/fieldData/createFieldDataFromAnalyzedFile | Take the analyzed results of the field data, modify it to your liking, then save it on the server.
*FieldDataResourceApi* | [**delete_field_data**](docs/FieldDataResourceApi.md#delete_field_data) | **DELETE** /api/v1/fieldData/delete/{fieldDataID} | Delete the selected field data.
*FieldDataResourceApi* | [**get_all_field_data_ids**](docs/FieldDataResourceApi.md#get_all_field_data_ids) | **GET** /api/v1/fieldData/IDs | Get all of the ids used to identify, and retrieve field data.
*FieldDataResourceApi* | [**get_field_data_shape_from_id**](docs/FieldDataResourceApi.md#get_field_data_shape_from_id) | **GET** /api/v1/fieldData/fieldDataShape/{fieldDataID} | Get the shape of the field data. That is it's size, origin, extent, and data identifiers.
*HelloWorldApi* | [**get_hello_world**](docs/HelloWorldApi.md#get_hello_world) | **GET** /api/v1/helloworld | Get hello world message.
*PublicationResourceApi* | [**create_publication**](docs/PublicationResourceApi.md#create_publication) | **POST** /api/v1/publications | Create publication
*PublicationResourceApi* | [**delete_publication**](docs/PublicationResourceApi.md#delete_publication) | **DELETE** /api/v1/publications/{id} | Delete publication
Expand All @@ -113,15 +118,25 @@ Class | Method | HTTP request | Description
## Documentation For Models

- [AccesTokenRepresentationRecord](docs/AccesTokenRepresentationRecord.md)
- [AnalyzedResultsFromFieldData](docs/AnalyzedResultsFromFieldData.md)
- [BatchSystemType](docs/BatchSystemType.md)
- [BioModel](docs/BioModel.md)
- [BiomodelRef](docs/BiomodelRef.md)
- [DataIdentifier](docs/DataIdentifier.md)
- [DetailedState](docs/DetailedState.md)
- [Domain](docs/Domain.md)
- [Extent](docs/Extent.md)
- [ExternalDataIdentifier](docs/ExternalDataIdentifier.md)
- [FieldDataReference](docs/FieldDataReference.md)
- [FieldDataSaveResults](docs/FieldDataSaveResults.md)
- [FieldDataShape](docs/FieldDataShape.md)
- [HelloWorldMessage](docs/HelloWorldMessage.md)
- [HtcJobID](docs/HtcJobID.md)
- [ISize](docs/ISize.md)
- [Identity](docs/Identity.md)
- [KeyValue](docs/KeyValue.md)
- [MathmodelRef](docs/MathmodelRef.md)
- [Origin](docs/Origin.md)
- [Publication](docs/Publication.md)
- [SchedulerStatus](docs/SchedulerStatus.md)
- [SimulationExecutionStatusRecord](docs/SimulationExecutionStatusRecord.md)
Expand All @@ -137,6 +152,8 @@ Class | Method | HTTP request | Description
- [UserLoginInfoForMapping](docs/UserLoginInfoForMapping.md)
- [UserRegistrationInfo](docs/UserRegistrationInfo.md)
- [VCSimulationIdentifier](docs/VCSimulationIdentifier.md)
- [VariableDomain](docs/VariableDomain.md)
- [VariableType](docs/VariableType.md)


<a id="documentation-for-authorization"></a>
Expand Down
32 changes: 0 additions & 32 deletions python-restclient/docs/AccessTokenRepresentation.md

This file was deleted.

35 changes: 35 additions & 0 deletions python-restclient/docs/AnalyzedResultsFromFieldData.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# AnalyzedResultsFromFieldData


## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**short_spec_data** | **List[List[List[int]]]** | | [optional]
**var_names** | **List[str]** | | [optional]
**times** | **List[float]** | | [optional]
**origin** | [**Origin**](Origin.md) | | [optional]
**extent** | [**Extent**](Extent.md) | | [optional]
**isize** | [**ISize**](ISize.md) | | [optional]
**annotation** | **str** | | [optional]
**name** | **str** | | [optional]

## Example

```python
from vcell_client.models.analyzed_results_from_field_data import AnalyzedResultsFromFieldData

# TODO update the JSON string below
json = "{}"
# create an instance of AnalyzedResultsFromFieldData from a JSON string
analyzed_results_from_field_data_instance = AnalyzedResultsFromFieldData.from_json(json)
# print the JSON string representation of the object
print AnalyzedResultsFromFieldData.to_json()

# convert the object into a dict
analyzed_results_from_field_data_dict = analyzed_results_from_field_data_instance.to_dict()
# create an instance of AnalyzedResultsFromFieldData from a dict
analyzed_results_from_field_data_form_dict = analyzed_results_from_field_data.from_dict(analyzed_results_from_field_data_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)


3 changes: 2 additions & 1 deletion python-restclient/docs/BioModelResourceApi.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,8 @@ No authorization required
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | OK | - |
**200** | return BioModel information in JSON format | - |
**404** | BioModel not found | - |

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

Expand Down
34 changes: 34 additions & 0 deletions python-restclient/docs/DataIdentifier.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# DataIdentifier


## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**name** | **str** | | [optional]
**display_name** | **str** | | [optional]
**variable_type** | [**VariableType**](VariableType.md) | | [optional]
**domain** | [**Domain**](Domain.md) | | [optional]
**b_function** | **bool** | | [optional]
**function** | **bool** | | [optional]
**visible** | **bool** | | [optional]

## Example

```python
from vcell_client.models.data_identifier import DataIdentifier

# TODO update the JSON string below
json = "{}"
# create an instance of DataIdentifier from a JSON string
data_identifier_instance = DataIdentifier.from_json(json)
# print the JSON string representation of the object
print DataIdentifier.to_json()

# convert the object into a dict
data_identifier_dict = data_identifier_instance.to_dict()
# create an instance of DataIdentifier from a dict
data_identifier_form_dict = data_identifier.from_dict(data_identifier_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)


Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Simulation
# Domain


## Properties
Expand All @@ -9,19 +9,19 @@ Name | Type | Description | Notes
## Example

```python
from vcell_client.models.simulation import Simulation
from vcell_client.models.domain import Domain

# TODO update the JSON string below
json = "{}"
# create an instance of Simulation from a JSON string
simulation_instance = Simulation.from_json(json)
# create an instance of Domain from a JSON string
domain_instance = Domain.from_json(json)
# print the JSON string representation of the object
print Simulation.to_json()
print Domain.to_json()

# convert the object into a dict
simulation_dict = simulation_instance.to_dict()
# create an instance of Simulation from a dict
simulation_form_dict = simulation.from_dict(simulation_dict)
domain_dict = domain_instance.to_dict()
# create an instance of Domain from a dict
domain_form_dict = domain.from_dict(domain_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

Expand Down
30 changes: 30 additions & 0 deletions python-restclient/docs/Extent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Extent


## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**x** | **float** | | [optional]
**y** | **float** | | [optional]
**z** | **float** | | [optional]

## Example

```python
from vcell_client.models.extent import Extent

# TODO update the JSON string below
json = "{}"
# create an instance of Extent from a JSON string
extent_instance = Extent.from_json(json)
# print the JSON string representation of the object
print Extent.to_json()

# convert the object into a dict
extent_dict = extent_instance.to_dict()
# create an instance of Extent from a dict
extent_form_dict = extent.from_dict(extent_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)


34 changes: 34 additions & 0 deletions python-restclient/docs/ExternalDataIdentifier.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# ExternalDataIdentifier


## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**key** | [**KeyValue**](KeyValue.md) | | [optional]
**owner** | [**User**](User.md) | | [optional]
**name** | **str** | | [optional]
**job_index** | **int** | | [optional]
**simulation_key** | [**KeyValue**](KeyValue.md) | | [optional]
**parameter_scan_type** | **bool** | | [optional]
**data_key** | [**KeyValue**](KeyValue.md) | | [optional]

## Example

```python
from vcell_client.models.external_data_identifier import ExternalDataIdentifier

# TODO update the JSON string below
json = "{}"
# create an instance of ExternalDataIdentifier from a JSON string
external_data_identifier_instance = ExternalDataIdentifier.from_json(json)
# print the JSON string representation of the object
print ExternalDataIdentifier.to_json()

# convert the object into a dict
external_data_identifier_dict = external_data_identifier_instance.to_dict()
# create an instance of ExternalDataIdentifier from a dict
external_data_identifier_form_dict = external_data_identifier.from_dict(external_data_identifier_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)


30 changes: 30 additions & 0 deletions python-restclient/docs/FieldDataReference.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# FieldDataReference


## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**external_data_identifier** | [**ExternalDataIdentifier**](ExternalDataIdentifier.md) | | [optional]
**external_data_annotation** | **str** | | [optional]
**external_data_id_sim_refs** | [**List[KeyValue]**](KeyValue.md) | | [optional]

## Example

```python
from vcell_client.models.field_data_reference import FieldDataReference

# TODO update the JSON string below
json = "{}"
# create an instance of FieldDataReference from a JSON string
field_data_reference_instance = FieldDataReference.from_json(json)
# print the JSON string representation of the object
print FieldDataReference.to_json()

# convert the object into a dict
field_data_reference_dict = field_data_reference_instance.to_dict()
# create an instance of FieldDataReference from a dict
field_data_reference_form_dict = field_data_reference.from_dict(field_data_reference_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)


Loading
Loading