You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@airavata.apache.org by "Marcus Christie (JIRA)" <ji...@apache.org> on 2019/03/07 22:53:00 UTC
[jira] [Created] (AIRAVATA-2994) Experiment input editors:
transformations
Marcus Christie created AIRAVATA-2994:
-----------------------------------------
Summary: Experiment input editors: transformations
Key: AIRAVATA-2994
URL: https://issues.apache.org/jira/browse/AIRAVATA-2994
Project: Airavata
Issue Type: Sub-task
Components: Django Portal
Reporter: Marcus Christie
Assignee: Marcus Christie
Add the ability to add transformations to input editors through input metadata, validations (AIRAVATA-2762) and dependencies (AIRAVATA-2761).
The schema I'm thinking of is
{code}
{
"editor": {
"transformations": [
{
"type": "regex-replace",
"value": ["\s+", "", ""]
},
...
]
}
}
{code}
A list of transformations can be specified. They will be applied in order to the input value whenever it changes.
The type must be implemented by a Transformation class ([something like how the ValidatorFactory works|https://github.com/apache/airavata-django-portal/blob/master/django_airavata/apps/api/static/django_airavata_api/js/models/validators/ValidatorFactory.js#L10]).
Example: transform
{noformat}
>101M:A|PDBID|CHAIN|SEQUENCE
MVLSEGEWQLVLHVWAKVEADVAGHGQDILIRLFKSHPETLEKFDRVKHLKTEAEMKASEDLKKHGVTVLTALGAILKKK
GHHEAELKPLAQSHATKHKIPIKYLEFISEAIIHVLHSRHPGNFGADAQGAMNKALELFRKDIAAKYKELGYQG
{noformat}
into
{noformat}
MVLSEGEWQLVLHVWAKVEADVAGHGQDILIRLFKSHPETLEKFDRVKHLKTEAEMKASEDLKKHGVTVLTALGAILKKKGHHEAELKPLAQSHATKHKIPIKYLEFISEAIIHVLHSRHPGNFGADAQGAMNKALELFRKDIAAKYKELGYQG
{noformat}
That is, remove the initial header line and remove all newlines.
Other notes:
* transformations should be applied before validations
* need to add a {{transform(value)}} method to InputDataObjectType. transform() should apply transformations and return the transformed value. If there are no transformations then transform() should just return the given value
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)