diff --git a/.gitignore b/.gitignore index d9bce1d7..26b09561 100755 --- a/.gitignore +++ b/.gitignore @@ -143,3 +143,4 @@ server.conf static/ # JetBrains IDEs .idea/ +backups \ No newline at end of file diff --git a/authentication/apis.py b/authentication/apis.py index 77a44abb..1a8cdf51 100644 --- a/authentication/apis.py +++ b/authentication/apis.py @@ -11,7 +11,6 @@ from rest_framework.permissions import IsAuthenticated from rest_framework.response import Response from rest_framework.views import APIView -from api.scripts.utilities.UserUtils import UserUtils from authentication.models import Authentication, NewUser from authentication.selectors import ( check_user_email, @@ -534,7 +533,7 @@ def post(self, request): Token.objects.create(user=request.user) return Response( status=status.HTTP_200_OK, - data=UserUtils().get_user_info(username=request.user) + data=get_user_info(user=request.user) ) except Exception as error: diff --git a/authentication/migrations/0001_initial.py b/authentication/migrations/0001_initial.py index 575366d2..90933801 100644 --- a/authentication/migrations/0001_initial.py +++ b/authentication/migrations/0001_initial.py @@ -1,8 +1,9 @@ -# Generated by Django 3.2.10 on 2023-03-27 20:46 +# Generated by Django 3.2.13 on 2024-03-14 13:52 from django.conf import settings from django.db import migrations, models import django.db.models.deletion +import django.utils.timezone class Migration(migrations.Migration): @@ -14,6 +15,17 @@ class Migration(migrations.Migration): ] operations = [ + migrations.CreateModel( + name='NewUser', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('email', models.EmailField(max_length=254)), + ('temp_identifier', models.TextField(max_length=100)), + ('token', models.TextField(blank=True, null=True)), + ('hostname', models.TextField(blank=True, null=True)), + ('created', models.DateTimeField(default=django.utils.timezone.now)), + ], + ), migrations.CreateModel( name='Authentication', fields=[ diff --git a/authentication/migrations/0002_newuser.py b/authentication/migrations/0002_newuser.py deleted file mode 100644 index 8c3bf1f8..00000000 --- a/authentication/migrations/0002_newuser.py +++ /dev/null @@ -1,25 +0,0 @@ -# Generated by Django 3.2.13 on 2024-03-07 21:53 - -from django.db import migrations, models -import django.utils.timezone - - -class Migration(migrations.Migration): - - dependencies = [ - ('authentication', '0001_initial'), - ] - - operations = [ - migrations.CreateModel( - name='NewUser', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('email', models.EmailField(max_length=254)), - ('temp_identifier', models.TextField(max_length=100)), - ('token', models.TextField(blank=True, null=True)), - ('hostname', models.TextField(blank=True, null=True)), - ('created', models.DateTimeField(default=django.utils.timezone.now)), - ], - ), - ] diff --git a/authentication/services.py b/authentication/services.py index 8c2d8b84..cf10d456 100644 --- a/authentication/services.py +++ b/authentication/services.py @@ -9,6 +9,7 @@ from django.contrib.auth.models import User, Group from django.core.mail import send_mail from rest_framework import exceptions, status, serializers +from rest_framework.authtoken.models import Token from rest_framework.response import Response from rest_framework_jwt.authentication import BaseAuthentication from rest_framework_jwt.settings import api_settings @@ -173,6 +174,7 @@ def send_new_user_email(user_info: dict) -> 0: print("Email signal sent") return 0 +@transaction.atomic def create_bcodb_user(email: str) -> User: """Create BCODB user """ @@ -183,10 +185,9 @@ def create_bcodb_user(email: str) -> User: ) user.set_unusable_password() user.full_clean() + Token.objects.create(user=user) user.save() - user.groups.add(Group.objects.get(name="bco_drafter")) - user.groups.add(Group.objects.get(name="bco_publisher")) - + return user diff --git a/biocompute/migrations/0001_initial.py b/biocompute/migrations/0001_initial.py new file mode 100644 index 00000000..bde4cb62 --- /dev/null +++ b/biocompute/migrations/0001_initial.py @@ -0,0 +1,33 @@ +# Generated by Django 3.2.13 on 2024-03-14 13:52 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('auth', '0012_alter_user_first_name_max_length'), + ('prefix', '0001_initial'), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.CreateModel( + name='Bco', + fields=[ + ('object_id', models.TextField(primary_key=True, serialize=False)), + ('contents', models.JSONField()), + ('state', models.CharField(choices=[('REFERENCED', 'referenced'), ('PUBLISHED', 'published'), ('DRAFT', 'draft'), ('DELETE', 'delete')], default='DRAFT', max_length=20)), + ('last_update', models.DateTimeField()), + ('access_count', models.IntegerField(default=0)), + ('authorized_groups', models.ManyToManyField(blank=True, to='auth.Group')), + ('authorized_users', models.ManyToManyField(blank=True, related_name='authorized_bcos', to=settings.AUTH_USER_MODEL)), + ('owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='owned_bcos', to=settings.AUTH_USER_MODEL)), + ('prefix', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='prefix.prefix')), + ], + ), + ] diff --git a/docs/refactor.md b/docs/refactor.md index ef9a1e96..fd877fd4 100644 --- a/docs/refactor.md +++ b/docs/refactor.md @@ -6,4 +6,12 @@ ## Items to look at later - `authentication.apis.RegisterUserNoVerificationAPI` has no swagger or tests - fix email and secrets +<<<<<<< Local Changes +- install a `test_template` for Swagger responses +- provide example values that are usable for testing APIs. +- certifying key for prefix as a JWT? +- owner = models.ForeignKey( + User, + on_delete=models.CASCADE, +- need tests for token diff --git a/prefix/migrations/0001_initial.py b/prefix/migrations/0001_initial.py new file mode 100644 index 00000000..45292be5 --- /dev/null +++ b/prefix/migrations/0001_initial.py @@ -0,0 +1,30 @@ +# Generated by Django 3.2.13 on 2024-03-14 13:14 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion +import django.utils.timezone + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('auth', '0012_alter_user_first_name_max_length'), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.CreateModel( + name='Prefix', + fields=[ + ('prefix', models.CharField(max_length=5, primary_key=True, serialize=False)), + ('certifying_key', models.TextField(blank=True, null=True)), + ('created', models.DateTimeField(blank=True, default=django.utils.timezone.now, null=True)), + ('description', models.TextField(blank=True, null=True)), + ('authorized_groups', models.ManyToManyField(blank=True, related_name='authorized_prefix', to='auth.Group')), + ('owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, to_field='username')), + ], + ), + ] diff --git a/search/selectors.py b/search/selectors.py index 68dcb090..9bbd7b57 100644 --- a/search/selectors.py +++ b/search/selectors.py @@ -4,13 +4,10 @@ Set of selector functions to handle searching the BCODB """ -from api.models import BCO +from biocompute.models import Bco from django.db.models import QuerySet from django.db.models.query import QuerySet from django.contrib.auth.models import User -from guardian.shortcuts import get_objects_for_user -from itertools import chain -from api.scripts.utilities.UserUtils import UserUtils return_values = [ "contents", diff --git a/test.json b/test.json new file mode 100644 index 00000000..667caf85 --- /dev/null +++ b/test.json @@ -0,0 +1,861 @@ +[ + { + "model": "auth.permission", + "pk": 1, + "fields": { + "name": "Can add log entry", + "content_type": 1, + "codename": "add_logentry" + } + }, + { + "model": "auth.permission", + "pk": 2, + "fields": { + "name": "Can change log entry", + "content_type": 1, + "codename": "change_logentry" + } + }, + { + "model": "auth.permission", + "pk": 3, + "fields": { + "name": "Can delete log entry", + "content_type": 1, + "codename": "delete_logentry" + } + }, + { + "model": "auth.permission", + "pk": 4, + "fields": { + "name": "Can view log entry", + "content_type": 1, + "codename": "view_logentry" + } + }, + { + "model": "auth.permission", + "pk": 5, + "fields": { + "name": "Can add permission", + "content_type": 2, + "codename": "add_permission" + } + }, + { + "model": "auth.permission", + "pk": 6, + "fields": { + "name": "Can change permission", + "content_type": 2, + "codename": "change_permission" + } + }, + { + "model": "auth.permission", + "pk": 7, + "fields": { + "name": "Can delete permission", + "content_type": 2, + "codename": "delete_permission" + } + }, + { + "model": "auth.permission", + "pk": 8, + "fields": { + "name": "Can view permission", + "content_type": 2, + "codename": "view_permission" + } + }, + { + "model": "auth.permission", + "pk": 9, + "fields": { + "name": "Can add group", + "content_type": 3, + "codename": "add_group" + } + }, + { + "model": "auth.permission", + "pk": 10, + "fields": { + "name": "Can change group", + "content_type": 3, + "codename": "change_group" + } + }, + { + "model": "auth.permission", + "pk": 11, + "fields": { + "name": "Can delete group", + "content_type": 3, + "codename": "delete_group" + } + }, + { + "model": "auth.permission", + "pk": 12, + "fields": { + "name": "Can view group", + "content_type": 3, + "codename": "view_group" + } + }, + { + "model": "auth.permission", + "pk": 13, + "fields": { + "name": "Can add user", + "content_type": 4, + "codename": "add_user" + } + }, + { + "model": "auth.permission", + "pk": 14, + "fields": { + "name": "Can change user", + "content_type": 4, + "codename": "change_user" + } + }, + { + "model": "auth.permission", + "pk": 15, + "fields": { + "name": "Can delete user", + "content_type": 4, + "codename": "delete_user" + } + }, + { + "model": "auth.permission", + "pk": 16, + "fields": { + "name": "Can view user", + "content_type": 4, + "codename": "view_user" + } + }, + { + "model": "auth.permission", + "pk": 17, + "fields": { + "name": "Can add content type", + "content_type": 5, + "codename": "add_contenttype" + } + }, + { + "model": "auth.permission", + "pk": 18, + "fields": { + "name": "Can change content type", + "content_type": 5, + "codename": "change_contenttype" + } + }, + { + "model": "auth.permission", + "pk": 19, + "fields": { + "name": "Can delete content type", + "content_type": 5, + "codename": "delete_contenttype" + } + }, + { + "model": "auth.permission", + "pk": 20, + "fields": { + "name": "Can view content type", + "content_type": 5, + "codename": "view_contenttype" + } + }, + { + "model": "auth.permission", + "pk": 21, + "fields": { + "name": "Can add session", + "content_type": 6, + "codename": "add_session" + } + }, + { + "model": "auth.permission", + "pk": 22, + "fields": { + "name": "Can change session", + "content_type": 6, + "codename": "change_session" + } + }, + { + "model": "auth.permission", + "pk": 23, + "fields": { + "name": "Can delete session", + "content_type": 6, + "codename": "delete_session" + } + }, + { + "model": "auth.permission", + "pk": 24, + "fields": { + "name": "Can view session", + "content_type": 6, + "codename": "view_session" + } + }, + { + "model": "auth.permission", + "pk": 25, + "fields": { + "name": "Can add Token", + "content_type": 7, + "codename": "add_token" + } + }, + { + "model": "auth.permission", + "pk": 26, + "fields": { + "name": "Can change Token", + "content_type": 7, + "codename": "change_token" + } + }, + { + "model": "auth.permission", + "pk": 27, + "fields": { + "name": "Can delete Token", + "content_type": 7, + "codename": "delete_token" + } + }, + { + "model": "auth.permission", + "pk": 28, + "fields": { + "name": "Can view Token", + "content_type": 7, + "codename": "view_token" + } + }, + { + "model": "auth.permission", + "pk": 29, + "fields": { + "name": "Can add token", + "content_type": 8, + "codename": "add_tokenproxy" + } + }, + { + "model": "auth.permission", + "pk": 30, + "fields": { + "name": "Can change token", + "content_type": 8, + "codename": "change_tokenproxy" + } + }, + { + "model": "auth.permission", + "pk": 31, + "fields": { + "name": "Can delete token", + "content_type": 8, + "codename": "delete_tokenproxy" + } + }, + { + "model": "auth.permission", + "pk": 32, + "fields": { + "name": "Can view token", + "content_type": 8, + "codename": "view_tokenproxy" + } + }, + { + "model": "auth.permission", + "pk": 33, + "fields": { + "name": "Can add blacklisted token", + "content_type": 9, + "codename": "add_blacklistedtoken" + } + }, + { + "model": "auth.permission", + "pk": 34, + "fields": { + "name": "Can change blacklisted token", + "content_type": 9, + "codename": "change_blacklistedtoken" + } + }, + { + "model": "auth.permission", + "pk": 35, + "fields": { + "name": "Can delete blacklisted token", + "content_type": 9, + "codename": "delete_blacklistedtoken" + } + }, + { + "model": "auth.permission", + "pk": 36, + "fields": { + "name": "Can view blacklisted token", + "content_type": 9, + "codename": "view_blacklistedtoken" + } + }, + { + "model": "auth.permission", + "pk": 37, + "fields": { + "name": "Can add group object permission", + "content_type": 10, + "codename": "add_groupobjectpermission" + } + }, + { + "model": "auth.permission", + "pk": 38, + "fields": { + "name": "Can change group object permission", + "content_type": 10, + "codename": "change_groupobjectpermission" + } + }, + { + "model": "auth.permission", + "pk": 39, + "fields": { + "name": "Can delete group object permission", + "content_type": 10, + "codename": "delete_groupobjectpermission" + } + }, + { + "model": "auth.permission", + "pk": 40, + "fields": { + "name": "Can view group object permission", + "content_type": 10, + "codename": "view_groupobjectpermission" + } + }, + { + "model": "auth.permission", + "pk": 41, + "fields": { + "name": "Can add user object permission", + "content_type": 11, + "codename": "add_userobjectpermission" + } + }, + { + "model": "auth.permission", + "pk": 42, + "fields": { + "name": "Can change user object permission", + "content_type": 11, + "codename": "change_userobjectpermission" + } + }, + { + "model": "auth.permission", + "pk": 43, + "fields": { + "name": "Can delete user object permission", + "content_type": 11, + "codename": "delete_userobjectpermission" + } + }, + { + "model": "auth.permission", + "pk": 44, + "fields": { + "name": "Can view user object permission", + "content_type": 11, + "codename": "view_userobjectpermission" + } + }, + { + "model": "auth.permission", + "pk": 45, + "fields": { + "name": "Can add new user", + "content_type": 12, + "codename": "add_newuser" + } + }, + { + "model": "auth.permission", + "pk": 46, + "fields": { + "name": "Can change new user", + "content_type": 12, + "codename": "change_newuser" + } + }, + { + "model": "auth.permission", + "pk": 47, + "fields": { + "name": "Can delete new user", + "content_type": 12, + "codename": "delete_newuser" + } + }, + { + "model": "auth.permission", + "pk": 48, + "fields": { + "name": "Can view new user", + "content_type": 12, + "codename": "view_newuser" + } + }, + { + "model": "auth.permission", + "pk": 49, + "fields": { + "name": "Can add authentication", + "content_type": 13, + "codename": "add_authentication" + } + }, + { + "model": "auth.permission", + "pk": 50, + "fields": { + "name": "Can change authentication", + "content_type": 13, + "codename": "change_authentication" + } + }, + { + "model": "auth.permission", + "pk": 51, + "fields": { + "name": "Can delete authentication", + "content_type": 13, + "codename": "delete_authentication" + } + }, + { + "model": "auth.permission", + "pk": 52, + "fields": { + "name": "Can view authentication", + "content_type": 13, + "codename": "view_authentication" + } + }, + { + "model": "auth.permission", + "pk": 53, + "fields": { + "name": "Can add bco", + "content_type": 14, + "codename": "add_bco" + } + }, + { + "model": "auth.permission", + "pk": 54, + "fields": { + "name": "Can change bco", + "content_type": 14, + "codename": "change_bco" + } + }, + { + "model": "auth.permission", + "pk": 55, + "fields": { + "name": "Can delete bco", + "content_type": 14, + "codename": "delete_bco" + } + }, + { + "model": "auth.permission", + "pk": 56, + "fields": { + "name": "Can view bco", + "content_type": 14, + "codename": "view_bco" + } + }, + { + "model": "auth.permission", + "pk": 57, + "fields": { + "name": "Can add prefix", + "content_type": 15, + "codename": "add_prefix" + } + }, + { + "model": "auth.permission", + "pk": 58, + "fields": { + "name": "Can change prefix", + "content_type": 15, + "codename": "change_prefix" + } + }, + { + "model": "auth.permission", + "pk": 59, + "fields": { + "name": "Can delete prefix", + "content_type": 15, + "codename": "delete_prefix" + } + }, + { + "model": "auth.permission", + "pk": 60, + "fields": { + "name": "Can view prefix", + "content_type": 15, + "codename": "view_prefix" + } + }, + { + "model": "auth.user", + "pk": 1, + "fields": { + "password": "!Bh8Fg1xZLdW7N3SEpDh5IO2PzJZtsMDEqwHeJn5w", + "last_login": null, + "is_superuser": false, + "username": "AnonymousUser", + "first_name": "", + "last_name": "", + "email": "", + "is_staff": false, + "is_active": true, + "date_joined": "2024-03-14T13:52:22.277Z", + "groups": [], + "user_permissions": [] + } + }, + { + "model": "auth.user", + "pk": 2, + "fields": { + "password": "pbkdf2_sha256$260000$dUkrKpJQ4E9Yxc7Jwv4vED$4un2CAwu8aGcLPo4Cpr7hfjz7ReHKSsDX1aF01AzDv0=", + "last_login": "2024-03-14T13:52:58.235Z", + "is_superuser": true, + "username": "wheel", + "first_name": "", + "last_name": "", + "email": "wheel@wheel.wheel", + "is_staff": true, + "is_active": true, + "date_joined": "2024-03-14T13:52:45.992Z", + "groups": [], + "user_permissions": [] + } + }, + { + "model": "auth.user", + "pk": 3, + "fields": { + "password": "pbkdf2_sha256$260000$9bpdEuUNU9qApubRxNJM8d$0fA4uPEKG0TQBuHp/Cn04q9JtzC9rABjajxZb6NFEgg=", + "last_login": "2023-01-14T12:21:51.437Z", + "is_superuser": true, + "username": "bco_api_user", + "first_name": "", + "last_name": "", + "email": "object.biocompute@gmail.com", + "is_staff": true, + "is_active": true, + "date_joined": "2022-05-10T20:35:53Z", + "groups": [], + "user_permissions": [] + } + }, + { + "model": "auth.user", + "pk": 4, + "fields": { + "password": "pbkdf2_sha256$260000$ncP8Sob0Rke6WIsf6lV0Ep$5/tabe+16bQcMdn3nmpX4Zb101XPc2dwTNxf9euS9lg=", + "last_login": null, + "is_superuser": false, + "username": "tester", + "first_name": "", + "last_name": "", + "email": "tester@testing.com", + "is_staff": false, + "is_active": true, + "date_joined": "2022-05-10T20:50:39.093Z", + "groups": [], + "user_permissions": [] + } + }, + { + "model": "auth.user", + "pk": 5, + "fields": { + "password": "pbkdf2_sha256$260000$nj2qTc19zYzyQ0NZIRQvw5$wd8ZURl0hx0uCMYhK8nD7kqGIScs0wqHIcxd6+1Wryw=", + "last_login": null, + "is_superuser": false, + "username": "hivelab", + "first_name": "", + "last_name": "", + "email": "hivelab@testing.com", + "is_staff": false, + "is_active": true, + "date_joined": "2022-05-10T20:53:42.499Z", + "groups": [], + "user_permissions": [] + } + }, + { + "model": "auth.user", + "pk": 6, + "fields": { + "password": "pbkdf2_sha256$260000$BK01G28EhBSlvLORWDFlYc$pFSvEXoeDN6QlTnrNVkfBDI+onkb/biwHquIevBY5Pw=", + "last_login": null, + "is_superuser": false, + "username": "jdoe", + "first_name": "", + "last_name": "", + "email": "jdoe@testing.com", + "is_staff": false, + "is_active": true, + "date_joined": "2022-05-10T20:54:44.793Z", + "groups": [], + "user_permissions": [] + } + }, + { + "model": "contenttypes.contenttype", + "pk": 1, + "fields": { + "app_label": "admin", + "model": "logentry" + } + }, + { + "model": "contenttypes.contenttype", + "pk": 2, + "fields": { + "app_label": "auth", + "model": "permission" + } + }, + { + "model": "contenttypes.contenttype", + "pk": 3, + "fields": { + "app_label": "auth", + "model": "group" + } + }, + { + "model": "contenttypes.contenttype", + "pk": 4, + "fields": { + "app_label": "auth", + "model": "user" + } + }, + { + "model": "contenttypes.contenttype", + "pk": 5, + "fields": { + "app_label": "contenttypes", + "model": "contenttype" + } + }, + { + "model": "contenttypes.contenttype", + "pk": 6, + "fields": { + "app_label": "sessions", + "model": "session" + } + }, + { + "model": "contenttypes.contenttype", + "pk": 7, + "fields": { + "app_label": "authtoken", + "model": "token" + } + }, + { + "model": "contenttypes.contenttype", + "pk": 8, + "fields": { + "app_label": "authtoken", + "model": "tokenproxy" + } + }, + { + "model": "contenttypes.contenttype", + "pk": 9, + "fields": { + "app_label": "blacklist", + "model": "blacklistedtoken" + } + }, + { + "model": "contenttypes.contenttype", + "pk": 10, + "fields": { + "app_label": "guardian", + "model": "groupobjectpermission" + } + }, + { + "model": "contenttypes.contenttype", + "pk": 11, + "fields": { + "app_label": "guardian", + "model": "userobjectpermission" + } + }, + { + "model": "contenttypes.contenttype", + "pk": 12, + "fields": { + "app_label": "authentication", + "model": "newuser" + } + }, + { + "model": "contenttypes.contenttype", + "pk": 13, + "fields": { + "app_label": "authentication", + "model": "authentication" + } + }, + { + "model": "contenttypes.contenttype", + "pk": 14, + "fields": { + "app_label": "biocompute", + "model": "bco" + } + }, + { + "model": "contenttypes.contenttype", + "pk": 15, + "fields": { + "app_label": "prefix", + "model": "prefix" + } + }, + { + "model": "sessions.session", + "pk": "mpq9r3ogmf3pel91gaqfvhzaf0pmdl4f", + "fields": { + "session_data": ".eJxVjMsOwiAQRf-FtSHlDS7d-w0EZgapGkhKuzL-uzbpQrf3nHNfLKZtrXEbtMQZ2ZlJdvrdcoIHtR3gPbVb59DbusyZ7wo_6ODXjvS8HO7fQU2jfutifZk0-qJdnkxI2StUWpB02kMCRcKGgii9KyRcQKDsjVDKFWOVk8DeH-rXN_A:1rklVy:mEkrOQPP77B9gY7nyQKTbKv0G5l_4e3OOxWx6FubKb4", + "expire_date": "2024-03-28T13:52:58.236Z" + } + }, + { + "model": "authtoken.token", + "pk": "1ef53d4042d14299918a4e1f21d2be128a2a7427", + "fields": { + "user": 5, + "created": "2024-03-14T15:21:04.318Z" + } + }, + { + "model": "authtoken.token", + "pk": "39182da8b9e634803d3dacb0b1858fb89f0db8ce", + "fields": { + "user": 3, + "created": "2024-03-14T15:20:51.567Z" + } + }, + { + "model": "authtoken.token", + "pk": "705531f3b2fbf80bb5a5b9d0cf4ee663676b4579", + "fields": { + "user": 4, + "created": "2024-03-14T15:21:14.996Z" + } + }, + { + "model": "authtoken.token", + "pk": "82d6e38c7f389f7637944f9884c351a19b61e6e8", + "fields": { + "user": 2, + "created": "2024-03-14T13:53:53.090Z" + } + }, + { + "model": "authtoken.token", + "pk": "b8e588c4bdfb366420007827054042e8e594ec51", + "fields": { + "user": 1, + "created": "2024-03-14T13:53:45.793Z" + } + }, + { + "model": "authtoken.token", + "pk": "ba1a932a6af59930293e087c1633fa60927b6690", + "fields": { + "user": 6, + "created": "2024-03-14T15:21:09.348Z" + } + }, + { + "model": "authentication.authentication", + "pk": 1, + "fields": { + "username": "bco_api_user", + "auth_service": [ + { + "iss": "Reeya1", + "sub": "ReeyaGupta1" + } + ] + } + }, + { + "model": "authentication.newuser", + "pk": 1, + "fields": { + "email": "test_new_user@testing.com", + "temp_identifier": "sample_temp_identifier", + "token": "token", + "hostname": "http://localhost:8000/", + "created": "2024-03-14T14:28:32Z" + } + }, + { + "model": "prefix.prefix", + "pk": "BCO", + "fields": { + "certifying_key": "1", + "created": "2024-03-14T13:53:59Z", + "description": "Default prefix for all BioCompute Objects", + "owner": "AnonymousUser", + "authorized_groups": [] + } + } +] \ No newline at end of file diff --git a/tests/fixtures/old_test_data.json b/tests/fixtures/old_test_data.json new file mode 100644 index 00000000..eeb429b7 --- /dev/null +++ b/tests/fixtures/old_test_data.json @@ -0,0 +1,7030 @@ +[ + { + "model": "admin.logentry", + "pk": 1, + "fields": { + "action_time": "2022-06-28T23:06:35.693Z", + "user": 6, + "content_type": 10, + "object_id": "1", + "object_repr": "http://127.0.0.1:8000/BCO_000000/DRAFT", + "action_flag": 2, + "change_message": "[{\"changed\": {\"fields\": [\"Contents\"]}}]" + } + }, + { + "model": "admin.logentry", + "pk": 2, + "fields": { + "action_time": "2022-06-28T23:08:10.571Z", + "user": 6, + "content_type": 10, + "object_id": "1", + "object_repr": "http://127.0.0.1:8000/BCO_000000/DRAFT", + "action_flag": 2, + "change_message": "[{\"changed\": {\"fields\": [\"Contents\"]}}]" + } + }, + { + "model": "admin.logentry", + "pk": 3, + "fields": { + "action_time": "2022-06-28T23:09:47.922Z", + "user": 6, + "content_type": 10, + "object_id": "1", + "object_repr": "http://127.0.0.1:8000/BCO_000000/DRAFT", + "action_flag": 2, + "change_message": "[{\"changed\": {\"fields\": [\"Contents\"]}}]" + } + }, + { + "model": "admin.logentry", + "pk": 4, + "fields": { + "action_time": "2022-06-28T23:12:37.828Z", + "user": 6, + "content_type": 10, + "object_id": "2", + "object_repr": "http://127.0.0.1:8000/BCO_000001/DRAFT", + "action_flag": 2, + "change_message": "[{\"changed\": {\"fields\": [\"Contents\"]}}]" + } + }, + { + "model": "admin.logentry", + "pk": 5, + "fields": { + "action_time": "2022-06-28T23:14:01.431Z", + "user": 6, + "content_type": 10, + "object_id": "5", + "object_repr": "http://127.0.0.1:8000/TEST_000001/DRAFT", + "action_flag": 2, + "change_message": "[{\"changed\": {\"fields\": [\"Contents\"]}}]" + } + }, + { + "model": "admin.logentry", + "pk": 6, + "fields": { + "action_time": "2022-06-28T23:16:50.236Z", + "user": 6, + "content_type": 10, + "object_id": "5", + "object_repr": "http://127.0.0.1:8000/TEST_000001/DRAFT", + "action_flag": 2, + "change_message": "[{\"changed\": {\"fields\": [\"Contents\"]}}]" + } + }, + { + "model": "admin.logentry", + "pk": 7, + "fields": { + "action_time": "2022-06-28T23:19:25.710Z", + "user": 6, + "content_type": 10, + "object_id": "3", + "object_repr": "http://127.0.0.1:8000/BCO_000002/DRAFT", + "action_flag": 2, + "change_message": "[{\"changed\": {\"fields\": [\"Contents\"]}}]" + } + }, + { + "model": "admin.logentry", + "pk": 8, + "fields": { + "action_time": "2022-06-28T23:21:05.713Z", + "user": 6, + "content_type": 10, + "object_id": "4", + "object_repr": "http://127.0.0.1:8000/BCO_000003/DRAFT", + "action_flag": 2, + "change_message": "[{\"changed\": {\"fields\": [\"Contents\"]}}]" + } + }, + { + "model": "admin.logentry", + "pk": 9, + "fields": { + "action_time": "2022-06-28T23:21:43.425Z", + "user": 6, + "content_type": 10, + "object_id": "4", + "object_repr": "http://127.0.0.1:8000/BCO_000003/DRAFT", + "action_flag": 2, + "change_message": "[{\"changed\": {\"fields\": [\"Contents\"]}}]" + } + }, + { + "model": "admin.logentry", + "pk": 10, + "fields": { + "action_time": "2022-06-28T23:23:00.080Z", + "user": 6, + "content_type": 10, + "object_id": "6", + "object_repr": "http://127.0.0.1:8000/OTHER_000001/DRAFT", + "action_flag": 2, + "change_message": "[{\"changed\": {\"fields\": [\"Owner group\"]}}]" + } + }, + { + "model": "admin.logentry", + "pk": 11, + "fields": { + "action_time": "2022-06-28T23:23:13.087Z", + "user": 6, + "content_type": 10, + "object_id": "5", + "object_repr": "http://127.0.0.1:8000/TEST_000001/DRAFT", + "action_flag": 2, + "change_message": "[{\"changed\": {\"fields\": [\"Owner group\"]}}]" + } + }, + { + "model": "admin.logentry", + "pk": 12, + "fields": { + "action_time": "2022-06-28T23:41:21.155Z", + "user": 6, + "content_type": 10, + "object_id": "6", + "object_repr": "http://127.0.0.1:8000/OTHER_000001/DRAFT", + "action_flag": 2, + "change_message": "[{\"changed\": {\"fields\": [\"Contents\"]}}]" + } + }, + { + "model": "admin.logentry", + "pk": 13, + "fields": { + "action_time": "2022-06-28T23:43:57.562Z", + "user": 6, + "content_type": 10, + "object_id": "5", + "object_repr": "http://127.0.0.1:8000/TEST_000001/DRAFT", + "action_flag": 2, + "change_message": "[{\"changed\": {\"fields\": [\"Contents\"]}}]" + } + }, + { + "model": "admin.logentry", + "pk": 14, + "fields": { + "action_time": "2022-06-28T23:44:43.690Z", + "user": 6, + "content_type": 10, + "object_id": "5", + "object_repr": "http://127.0.0.1:8000/TEST_000001/DRAFT", + "action_flag": 2, + "change_message": "[{\"changed\": {\"fields\": [\"Contents\"]}}]" + } + }, + { + "model": "admin.logentry", + "pk": 15, + "fields": { + "action_time": "2023-01-13T13:24:15.001Z", + "user": 6, + "content_type": 4, + "object_id": "6", + "object_repr": "bco_api_user", + "action_flag": 2, + "change_message": "[{\"changed\": {\"fields\": [\"Email address\"]}}]" + } + }, + { + "model": "admin.logentry", + "pk": 16, + "fields": { + "action_time": "2023-01-13T13:24:24.242Z", + "user": 6, + "content_type": 4, + "object_id": "6", + "object_repr": "bco_api_user", + "action_flag": 2, + "change_message": "[]" + } + }, + { + "model": "authentication.authentication", + "pk": 1, + "fields": { + "username": "bco_api_user", + "auth_service": [ + { + "iss": "Reeya1", + "sub": "ReeyaGupta1" + } + ] + } + }, + { + "model": "auth.permission", + "pk": 1, + "fields": { + "name": "Can add log entry", + "content_type": 1, + "codename": "add_logentry" + } + }, + { + "model": "auth.permission", + "pk": 2, + "fields": { + "name": "Can change log entry", + "content_type": 1, + "codename": "change_logentry" + } + }, + { + "model": "auth.permission", + "pk": 3, + "fields": { + "name": "Can delete log entry", + "content_type": 1, + "codename": "delete_logentry" + } + }, + { + "model": "auth.permission", + "pk": 4, + "fields": { + "name": "Can view log entry", + "content_type": 1, + "codename": "view_logentry" + } + }, + { + "model": "auth.permission", + "pk": 5, + "fields": { + "name": "Can add permission", + "content_type": 2, + "codename": "add_permission" + } + }, + { + "model": "auth.permission", + "pk": 6, + "fields": { + "name": "Can change permission", + "content_type": 2, + "codename": "change_permission" + } + }, + { + "model": "auth.permission", + "pk": 7, + "fields": { + "name": "Can delete permission", + "content_type": 2, + "codename": "delete_permission" + } + }, + { + "model": "auth.permission", + "pk": 8, + "fields": { + "name": "Can view permission", + "content_type": 2, + "codename": "view_permission" + } + }, + { + "model": "auth.permission", + "pk": 9, + "fields": { + "name": "Can add group", + "content_type": 3, + "codename": "add_group" + } + }, + { + "model": "auth.permission", + "pk": 10, + "fields": { + "name": "Can change group", + "content_type": 3, + "codename": "change_group" + } + }, + { + "model": "auth.permission", + "pk": 11, + "fields": { + "name": "Can delete group", + "content_type": 3, + "codename": "delete_group" + } + }, + { + "model": "auth.permission", + "pk": 12, + "fields": { + "name": "Can view group", + "content_type": 3, + "codename": "view_group" + } + }, + { + "model": "auth.permission", + "pk": 13, + "fields": { + "name": "Can add user", + "content_type": 4, + "codename": "add_user" + } + }, + { + "model": "auth.permission", + "pk": 14, + "fields": { + "name": "Can change user", + "content_type": 4, + "codename": "change_user" + } + }, + { + "model": "auth.permission", + "pk": 15, + "fields": { + "name": "Can delete user", + "content_type": 4, + "codename": "delete_user" + } + }, + { + "model": "auth.permission", + "pk": 16, + "fields": { + "name": "Can view user", + "content_type": 4, + "codename": "view_user" + } + }, + { + "model": "auth.permission", + "pk": 17, + "fields": { + "name": "Can add content type", + "content_type": 5, + "codename": "add_contenttype" + } + }, + { + "model": "auth.permission", + "pk": 18, + "fields": { + "name": "Can change content type", + "content_type": 5, + "codename": "change_contenttype" + } + }, + { + "model": "auth.permission", + "pk": 19, + "fields": { + "name": "Can delete content type", + "content_type": 5, + "codename": "delete_contenttype" + } + }, + { + "model": "auth.permission", + "pk": 20, + "fields": { + "name": "Can view content type", + "content_type": 5, + "codename": "view_contenttype" + } + }, + { + "model": "auth.permission", + "pk": 21, + "fields": { + "name": "Can add session", + "content_type": 6, + "codename": "add_session" + } + }, + { + "model": "auth.permission", + "pk": 22, + "fields": { + "name": "Can change session", + "content_type": 6, + "codename": "change_session" + } + }, + { + "model": "auth.permission", + "pk": 23, + "fields": { + "name": "Can delete session", + "content_type": 6, + "codename": "delete_session" + } + }, + { + "model": "auth.permission", + "pk": 24, + "fields": { + "name": "Can view session", + "content_type": 6, + "codename": "view_session" + } + }, + { + "model": "auth.permission", + "pk": 25, + "fields": { + "name": "Can add Token", + "content_type": 7, + "codename": "add_token" + } + }, + { + "model": "auth.permission", + "pk": 26, + "fields": { + "name": "Can change Token", + "content_type": 7, + "codename": "change_token" + } + }, + { + "model": "auth.permission", + "pk": 27, + "fields": { + "name": "Can delete Token", + "content_type": 7, + "codename": "delete_token" + } + }, + { + "model": "auth.permission", + "pk": 28, + "fields": { + "name": "Can view Token", + "content_type": 7, + "codename": "view_token" + } + }, + { + "model": "auth.permission", + "pk": 29, + "fields": { + "name": "Can add token", + "content_type": 8, + "codename": "add_tokenproxy" + } + }, + { + "model": "auth.permission", + "pk": 30, + "fields": { + "name": "Can change token", + "content_type": 8, + "codename": "change_tokenproxy" + } + }, + { + "model": "auth.permission", + "pk": 31, + "fields": { + "name": "Can delete token", + "content_type": 8, + "codename": "delete_tokenproxy" + } + }, + { + "model": "auth.permission", + "pk": 32, + "fields": { + "name": "Can view token", + "content_type": 8, + "codename": "view_tokenproxy" + } + }, + { + "model": "auth.permission", + "pk": 33, + "fields": { + "name": "Can add new_users", + "content_type": 9, + "codename": "add_new_users" + } + }, + { + "model": "auth.permission", + "pk": 34, + "fields": { + "name": "Can change new_users", + "content_type": 9, + "codename": "change_new_users" + } + }, + { + "model": "auth.permission", + "pk": 35, + "fields": { + "name": "Can delete new_users", + "content_type": 9, + "codename": "delete_new_users" + } + }, + { + "model": "auth.permission", + "pk": 36, + "fields": { + "name": "Can view new_users", + "content_type": 9, + "codename": "view_new_users" + } + }, + { + "model": "auth.permission", + "pk": 37, + "fields": { + "name": "Can add bco", + "content_type": 10, + "codename": "add_bco" + } + }, + { + "model": "auth.permission", + "pk": 38, + "fields": { + "name": "Can change bco", + "content_type": 10, + "codename": "change_bco" + } + }, + { + "model": "auth.permission", + "pk": 39, + "fields": { + "name": "Can delete bco", + "content_type": 10, + "codename": "delete_bco" + } + }, + { + "model": "auth.permission", + "pk": 40, + "fields": { + "name": "Can view bco", + "content_type": 10, + "codename": "view_bco" + } + }, + { + "model": "auth.permission", + "pk": 41, + "fields": { + "name": "Can add prefix_table", + "content_type": 11, + "codename": "add_prefix_table" + } + }, + { + "model": "auth.permission", + "pk": 42, + "fields": { + "name": "Can change prefix_table", + "content_type": 11, + "codename": "change_prefix_table" + } + }, + { + "model": "auth.permission", + "pk": 43, + "fields": { + "name": "Can delete prefix_table", + "content_type": 11, + "codename": "delete_prefix_table" + } + }, + { + "model": "auth.permission", + "pk": 44, + "fields": { + "name": "Can view prefix_table", + "content_type": 11, + "codename": "view_prefix_table" + } + }, + { + "model": "auth.permission", + "pk": 45, + "fields": { + "name": "Can add group info", + "content_type": 12, + "codename": "add_groupinfo" + } + }, + { + "model": "auth.permission", + "pk": 46, + "fields": { + "name": "Can change group info", + "content_type": 12, + "codename": "change_groupinfo" + } + }, + { + "model": "auth.permission", + "pk": 47, + "fields": { + "name": "Can delete group info", + "content_type": 12, + "codename": "delete_groupinfo" + } + }, + { + "model": "auth.permission", + "pk": 48, + "fields": { + "name": "Can view group info", + "content_type": 12, + "codename": "view_groupinfo" + } + }, + { + "model": "auth.permission", + "pk": 49, + "fields": { + "name": "Can add prefix", + "content_type": 13, + "codename": "add_prefix" + } + }, + { + "model": "auth.permission", + "pk": 50, + "fields": { + "name": "Can change prefix", + "content_type": 13, + "codename": "change_prefix" + } + }, + { + "model": "auth.permission", + "pk": 51, + "fields": { + "name": "Can delete prefix", + "content_type": 13, + "codename": "delete_prefix" + } + }, + { + "model": "auth.permission", + "pk": 52, + "fields": { + "name": "Can view prefix", + "content_type": 13, + "codename": "view_prefix" + } + }, + { + "model": "auth.permission", + "pk": 53, + "fields": { + "name": "Can add BCOs with prefix BCO", + "content_type": 10, + "codename": "add_BCO" + } + }, + { + "model": "auth.permission", + "pk": 54, + "fields": { + "name": "Can change BCOs with prefix BCO", + "content_type": 10, + "codename": "change_BCO" + } + }, + { + "model": "auth.permission", + "pk": 55, + "fields": { + "name": "Can delete BCOs with prefix BCO", + "content_type": 10, + "codename": "delete_BCO" + } + }, + { + "model": "auth.permission", + "pk": 56, + "fields": { + "name": "Can view BCOs with prefix BCO", + "content_type": 10, + "codename": "view_BCO" + } + }, + { + "model": "auth.permission", + "pk": 57, + "fields": { + "name": "Can draft BCOs with prefix BCO", + "content_type": 10, + "codename": "draft_BCO" + } + }, + { + "model": "auth.permission", + "pk": 58, + "fields": { + "name": "Can publish BCOs with prefix BCO", + "content_type": 10, + "codename": "publish_BCO" + } + }, + { + "model": "auth.permission", + "pk": 59, + "fields": { + "name": "Can add group object permission", + "content_type": 14, + "codename": "add_groupobjectpermission" + } + }, + { + "model": "auth.permission", + "pk": 60, + "fields": { + "name": "Can change group object permission", + "content_type": 14, + "codename": "change_groupobjectpermission" + } + }, + { + "model": "auth.permission", + "pk": 61, + "fields": { + "name": "Can delete group object permission", + "content_type": 14, + "codename": "delete_groupobjectpermission" + } + }, + { + "model": "auth.permission", + "pk": 62, + "fields": { + "name": "Can view group object permission", + "content_type": 14, + "codename": "view_groupobjectpermission" + } + }, + { + "model": "auth.permission", + "pk": 63, + "fields": { + "name": "Can add user object permission", + "content_type": 15, + "codename": "add_userobjectpermission" + } + }, + { + "model": "auth.permission", + "pk": 64, + "fields": { + "name": "Can change user object permission", + "content_type": 15, + "codename": "change_userobjectpermission" + } + }, + { + "model": "auth.permission", + "pk": 65, + "fields": { + "name": "Can delete user object permission", + "content_type": 15, + "codename": "delete_userobjectpermission" + } + }, + { + "model": "auth.permission", + "pk": 66, + "fields": { + "name": "Can view user object permission", + "content_type": 15, + "codename": "view_userobjectpermission" + } + }, + { + "model": "auth.permission", + "pk": 67, + "fields": { + "name": "Can add BCOs with prefix TEST", + "content_type": 10, + "codename": "add_TEST" + } + }, + { + "model": "auth.permission", + "pk": 68, + "fields": { + "name": "Can change BCOs with prefix TEST", + "content_type": 10, + "codename": "change_TEST" + } + }, + { + "model": "auth.permission", + "pk": 69, + "fields": { + "name": "Can delete BCOs with prefix TEST", + "content_type": 10, + "codename": "delete_TEST" + } + }, + { + "model": "auth.permission", + "pk": 70, + "fields": { + "name": "Can view BCOs with prefix TEST", + "content_type": 10, + "codename": "view_TEST" + } + }, + { + "model": "auth.permission", + "pk": 71, + "fields": { + "name": "Can draft BCOs with prefix TEST", + "content_type": 10, + "codename": "draft_TEST" + } + }, + { + "model": "auth.permission", + "pk": 72, + "fields": { + "name": "Can publish BCOs with prefix TEST", + "content_type": 10, + "codename": "publish_TEST" + } + }, + { + "model": "auth.permission", + "pk": 73, + "fields": { + "name": "Can add BCOs with prefix OTHER", + "content_type": 10, + "codename": "add_OTHER" + } + }, + { + "model": "auth.permission", + "pk": 74, + "fields": { + "name": "Can change BCOs with prefix OTHER", + "content_type": 10, + "codename": "change_OTHER" + } + }, + { + "model": "auth.permission", + "pk": 75, + "fields": { + "name": "Can delete BCOs with prefix OTHER", + "content_type": 10, + "codename": "delete_OTHER" + } + }, + { + "model": "auth.permission", + "pk": 76, + "fields": { + "name": "Can view BCOs with prefix OTHER", + "content_type": 10, + "codename": "view_OTHER" + } + }, + { + "model": "auth.permission", + "pk": 77, + "fields": { + "name": "Can draft BCOs with prefix OTHER", + "content_type": 10, + "codename": "draft_OTHER" + } + }, + { + "model": "auth.permission", + "pk": 78, + "fields": { + "name": "Can publish BCOs with prefix OTHER", + "content_type": 10, + "codename": "publish_OTHER" + } + }, + { + "model": "auth.permission", + "pk": 79, + "fields": { + "name": "Can add blacklisted token", + "content_type": 16, + "codename": "add_blacklistedtoken" + } + }, + { + "model": "auth.permission", + "pk": 80, + "fields": { + "name": "Can change blacklisted token", + "content_type": 16, + "codename": "change_blacklistedtoken" + } + }, + { + "model": "auth.permission", + "pk": 81, + "fields": { + "name": "Can delete blacklisted token", + "content_type": 16, + "codename": "delete_blacklistedtoken" + } + }, + { + "model": "auth.permission", + "pk": 82, + "fields": { + "name": "Can view blacklisted token", + "content_type": 16, + "codename": "view_blacklistedtoken" + } + }, + { + "model": "auth.permission", + "pk": 83, + "fields": { + "name": "Can add authentication", + "content_type": 17, + "codename": "add_authentication" + } + }, + { + "model": "auth.permission", + "pk": 84, + "fields": { + "name": "Can change authentication", + "content_type": 17, + "codename": "change_authentication" + } + }, + { + "model": "auth.permission", + "pk": 85, + "fields": { + "name": "Can delete authentication", + "content_type": 17, + "codename": "delete_authentication" + } + }, + { + "model": "auth.permission", + "pk": 86, + "fields": { + "name": "Can view authentication", + "content_type": 17, + "codename": "view_authentication" + } + }, + { + "model": "authtoken.token", + "pk": "07801a1a4cdbf1945e22ac8439f1db27fe813f7a", + "fields": { + "user": 6, + "created": "2022-05-10T20:35:53.548Z" + } + }, + { + "model": "authtoken.token", + "pk": "0bd55c955fcbfc269f6dc8f61ea107674cafdecb", + "fields": { + "user": 8, + "created": "2022-05-10T20:53:42.503Z" + } + }, + { + "model": "authtoken.token", + "pk": "166c6a8f7e6e34827f4231a37c73f4ff985b43a2", + "fields": { + "user": 5, + "created": "2022-05-10T20:35:14.846Z" + } + }, + { + "model": "authtoken.token", + "pk": "2f2a599026581c158a07f968c56292c77f4be875", + "fields": { + "user": 2, + "created": "2022-05-10T20:35:14.509Z" + } + }, + { + "model": "authtoken.token", + "pk": "3f5504d88a5085d0452b19350fb6f82ae7097dd0", + "fields": { + "user": 9, + "created": "2022-05-10T20:54:44.797Z" + } + }, + { + "model": "authtoken.token", + "pk": "627626823549f787c3ec763ff687169206626149", + "fields": { + "user": 3, + "created": "2022-05-10T20:35:14.520Z" + } + }, + { + "model": "authtoken.token", + "pk": "8d66642cb77c4cb55af75d0f6c4f2835f805dcaa", + "fields": { + "user": 4, + "created": "2022-05-10T20:35:14.695Z" + } + }, + { + "model": "authtoken.token", + "pk": "c400a6076a2dfe7e9906ab86c6ad4574d1d60e03", + "fields": { + "user": 7, + "created": "2022-05-10T20:50:39.096Z" + } + }, + { + "model": "auth.group", + "pk": 1, + "fields": { + "name": "bco_drafter", + "permissions": [ + 53, + 54, + 55, + 57, + 56 + ] + } + }, + { + "model": "auth.group", + "pk": 2, + "fields": { + "name": "bco_publisher", + "permissions": [ + 53, + 54, + 55, + 57, + 58, + 56 + ] + } + }, + { + "model": "auth.group", + "pk": 3, + "fields": { + "name": "anon", + "permissions": [] + } + }, + { + "model": "auth.group", + "pk": 4, + "fields": { + "name": "wheel", + "permissions": [] + } + }, + { + "model": "auth.group", + "pk": 5, + "fields": { + "name": "group_admins", + "permissions": [ + 9, + 10, + 11, + 12 + ] + } + }, + { + "model": "auth.group", + "pk": 6, + "fields": { + "name": "prefix_admins", + "permissions": [ + 49, + 50, + 51, + 52 + ] + } + }, + { + "model": "auth.group", + "pk": 7, + "fields": { + "name": "AnonymousUser", + "permissions": [] + } + }, + { + "model": "auth.group", + "pk": 8, + "fields": { + "name": "bco_api_user", + "permissions": [ + 73, + 67, + 74, + 68, + 75, + 69, + 77, + 71, + 78, + 72, + 76, + 70 + ] + } + }, + { + "model": "auth.group", + "pk": 9, + "fields": { + "name": "test50", + "permissions": [] + } + }, + { + "model": "auth.group", + "pk": 10, + "fields": { + "name": "hivelab37", + "permissions": [] + } + }, + { + "model": "auth.group", + "pk": 11, + "fields": { + "name": "jdoe58", + "permissions": [] + } + }, + { + "model": "auth.group", + "pk": 12, + "fields": { + "name": "test_drafter", + "permissions": [ + 67, + 68, + 69, + 71, + 70 + ] + } + }, + { + "model": "auth.group", + "pk": 13, + "fields": { + "name": "test_publisher", + "permissions": [ + 67, + 68, + 69, + 71, + 72, + 70 + ] + } + }, + { + "model": "auth.group", + "pk": 14, + "fields": { + "name": "other_drafter", + "permissions": [ + 73, + 74, + 75, + 77, + 76 + ] + } + }, + { + "model": "auth.group", + "pk": 15, + "fields": { + "name": "other_publisher", + "permissions": [ + 73, + 74, + 75, + 77, + 78, + 76 + ] + } + }, + { + "model": "auth.user", + "pk": 1, + "fields": { + "password": "!i7FmD5oJKoZbSswUfPpd5hHZTO1uUL4M26R2DIzb", + "last_login": null, + "is_superuser": false, + "username": "bco_drafter", + "first_name": "", + "last_name": "", + "email": "", + "is_staff": false, + "is_active": true, + "date_joined": "2022-05-10T20:35:14.496Z", + "groups": [ + 1 + ], + "user_permissions": [] + } + }, + { + "model": "auth.user", + "pk": 2, + "fields": { + "password": "!zwQlrQ6x12cENcNlfEBkImrSqyM1BaC6gZwEdJzm", + "last_login": null, + "is_superuser": false, + "username": "bco_publisher", + "first_name": "", + "last_name": "", + "email": "", + "is_staff": false, + "is_active": true, + "date_joined": "2022-05-10T20:35:14.506Z", + "groups": [ + 1, + 2 + ], + "user_permissions": [ + 53, + 54, + 55, + 57, + 58, + 56 + ] + } + }, + { + "model": "auth.user", + "pk": 3, + "fields": { + "password": "!nFpSYz0kD54JC8eO25OIH5sZpPYnjNpYyh5th60k", + "last_login": null, + "is_superuser": false, + "username": "anon", + "first_name": "", + "last_name": "", + "email": "", + "is_staff": false, + "is_active": true, + "date_joined": "2022-05-10T20:35:14.517Z", + "groups": [ + 3 + ], + "user_permissions": [] + } + }, + { + "model": "auth.user", + "pk": 4, + "fields": { + "password": "pbkdf2_sha256$260000$CYgsYlwKXcRZrLo5HSr4jU$4MmwM6zGNaIzmQyY90oWqP5J3qdrbige5P02T0N0Z60=", + "last_login": "2023-07-24T14:30:51.334Z", + "is_superuser": true, + "username": "wheel", + "first_name": "", + "last_name": "", + "email": "", + "is_staff": true, + "is_active": true, + "date_joined": "2022-05-10T20:35:14.528Z", + "groups": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15 + ], + "user_permissions": [] + } + }, + { + "model": "auth.user", + "pk": 5, + "fields": { + "password": "!eYwmI7Fc6k6AF6TNLEYV9K9BzbyHJEM5EugCKKOU", + "last_login": null, + "is_superuser": false, + "username": "AnonymousUser", + "first_name": "", + "last_name": "", + "email": "", + "is_staff": false, + "is_active": true, + "date_joined": "2022-05-10T20:35:14.844Z", + "groups": [ + 1, + 2, + 7 + ], + "user_permissions": [] + } + }, + { + "model": "auth.user", + "pk": 6, + "fields": { + "password": "pbkdf2_sha256$260000$9bpdEuUNU9qApubRxNJM8d$0fA4uPEKG0TQBuHp/Cn04q9JtzC9rABjajxZb6NFEgg=", + "last_login": "2023-01-14T12:21:51.437Z", + "is_superuser": true, + "username": "bco_api_user", + "first_name": "", + "last_name": "", + "email": "object.biocompute@gmail.com", + "is_staff": true, + "is_active": true, + "date_joined": "2022-05-10T20:35:53Z", + "groups": [ + 1, + 2, + 6, + 8, + 12, + 13, + 14, + 15 + ], + "user_permissions": [ + 73, + 67, + 74, + 68, + 75, + 69, + 77, + 71, + 78, + 72, + 76, + 70 + ] + } + }, + { + "model": "auth.user", + "pk": 7, + "fields": { + "password": "pbkdf2_sha256$260000$ncP8Sob0Rke6WIsf6lV0Ep$5/tabe+16bQcMdn3nmpX4Zb101XPc2dwTNxf9euS9lg=", + "last_login": null, + "is_superuser": false, + "username": "test50", + "first_name": "", + "last_name": "", + "email": "test@testing.com", + "is_staff": false, + "is_active": true, + "date_joined": "2022-05-10T20:50:39.093Z", + "groups": [ + 1, + 2, + 9, + 12 + ], + "user_permissions": [] + } + }, + { + "model": "auth.user", + "pk": 8, + "fields": { + "password": "pbkdf2_sha256$260000$nj2qTc19zYzyQ0NZIRQvw5$wd8ZURl0hx0uCMYhK8nD7kqGIScs0wqHIcxd6+1Wryw=", + "last_login": null, + "is_superuser": false, + "username": "hivelab37", + "first_name": "", + "last_name": "", + "email": "", + "is_staff": false, + "is_active": true, + "date_joined": "2022-05-10T20:53:42.499Z", + "groups": [ + 1, + 2, + 10 + ], + "user_permissions": [] + } + }, + { + "model": "auth.user", + "pk": 9, + "fields": { + "password": "pbkdf2_sha256$260000$BK01G28EhBSlvLORWDFlYc$pFSvEXoeDN6QlTnrNVkfBDI+onkb/biwHquIevBY5Pw=", + "last_login": null, + "is_superuser": false, + "username": "jdoe58", + "first_name": "", + "last_name": "", + "email": "", + "is_staff": false, + "is_active": true, + "date_joined": "2022-05-10T20:54:44.793Z", + "groups": [ + 1, + 2, + 11 + ], + "user_permissions": [] + } + }, + { + "model": "contenttypes.contenttype", + "pk": 1, + "fields": { + "app_label": "admin", + "model": "logentry" + } + }, + { + "model": "contenttypes.contenttype", + "pk": 2, + "fields": { + "app_label": "auth", + "model": "permission" + } + }, + { + "model": "contenttypes.contenttype", + "pk": 3, + "fields": { + "app_label": "auth", + "model": "group" + } + }, + { + "model": "contenttypes.contenttype", + "pk": 4, + "fields": { + "app_label": "auth", + "model": "user" + } + }, + { + "model": "contenttypes.contenttype", + "pk": 5, + "fields": { + "app_label": "contenttypes", + "model": "contenttype" + } + }, + { + "model": "contenttypes.contenttype", + "pk": 6, + "fields": { + "app_label": "sessions", + "model": "session" + } + }, + { + "model": "contenttypes.contenttype", + "pk": 7, + "fields": { + "app_label": "authtoken", + "model": "token" + } + }, + { + "model": "contenttypes.contenttype", + "pk": 8, + "fields": { + "app_label": "authtoken", + "model": "tokenproxy" + } + }, + { + "model": "sessions.session", + "pk": "3qd5skoalb5ly4dsuqcb5esqj5j9qhzt", + "fields": { + "session_data": ".eJxVjEEOwiAQRe_C2hCoDKBL956BzAyDVA1NSrsy3l2bdKHb_977L5VwXWpau8xpzOqsvDr8boT8kLaBfMd2mzRPbZlH0puid9r1dcryvOzu30HFXr-1eLAeTg4ymWLEhwwETogKe7YmBBwiW4vHQayLxB7RYXauhAgCCOr9AennOCw:1pGK4j:oPTKR7Co3iXf6S_I2K7tHYWcNu2MvGhg3SLWUEGUzsE", + "expire_date": "2023-01-27T13:26:29.682Z" + } + }, + { + "model": "sessions.session", + "pk": "82y6iptnatolxvvuza5tjpftnjs15ucs", + "fields": { + "session_data": ".eJxVjEEOwiAQRe_C2hCoDKBL956BzAyDVA1NSrsy3l2bdKHb_977L5VwXWpau8xpzOqsvDr8boT8kLaBfMd2mzRPbZlH0puid9r1dcryvOzu30HFXr-1eLAeTg4ymWLEhwwETogKe7YmBBwiW4vHQayLxB7RYXauhAgCCOr9AennOCw:1o6Ctw:poy6l1agnmqGeCEBGDUHoPJmt_d7BoLfpQmxeubFgv4", + "expire_date": "2022-07-12T15:13:16.934Z" + } + }, + { + "model": "sessions.session", + "pk": "860l0sgsts303jiqqkbfbqb1b5drzber", + "fields": { + "session_data": ".eJxVjEEOwiAQRe_C2hCoDKBL956BzAyDVA1NSrsy3l2bdKHb_977L5VwXWpau8xpzOqsvDr8boT8kLaBfMd2mzRPbZlH0puid9r1dcryvOzu30HFXr-1eLAeTg4ymWLEhwwETogKe7YmBBwiW4vHQayLxB7RYXauhAgCCOr9AennOCw:1pEUh2:UTjS-6q1AeDxypKMT47pePYR8tWXEHAwMgYl2r2Hxyw", + "expire_date": "2023-01-22T12:22:28.297Z" + } + }, + { + "model": "sessions.session", + "pk": "a1s21bvi44c07la3bvv30q8l4brogz4a", + "fields": { + "session_data": ".eJxVjEEOwiAQRe_C2hCoDKBL956BzAyDVA1NSrsy3l2bdKHb_977L5VwXWpau8xpzOqsvDr8boT8kLaBfMd2mzRPbZlH0puid9r1dcryvOzu30HFXr-1eLAeTg4ymWLEhwwETogKe7YmBBwiW4vHQayLxB7RYXauhAgCCOr9AennOCw:1ozlTd:D4Ba4G-L6eSml3IKbwxb0QnLb51bSoCBiJxJc54lJyI", + "expire_date": "2022-12-12T21:15:45.128Z" + } + }, + { + "model": "sessions.session", + "pk": "aa07l502m3oxm2o0frkoiatmmj18v4rq", + "fields": { + "session_data": ".eJxVjEEOwiAQRe_C2pCRwiAu3fcMBJhBqgaS0q6Md7dNutDtf-_9t_BhXYpfO89-InEVWpx-txjSk-sO6BHqvcnU6jJPUe6KPGiXYyN-3Q7376CEXrZ6AOcAdLIZUJtM0RoeOGcYABHOREEhW5U1XxyhwYS8ydGSMhYokvh8AdKJN94:1qNwaJ:Oh_qoPjlNq2dgzb4RfJ7b0_I2y-thVrhsRf7mqxxJEs", + "expire_date": "2023-08-07T14:30:51.336Z" + } + }, + { + "model": "sessions.session", + "pk": "aa91y2h5pktdnhqqpch0nsyv3kvmr5ff", + "fields": { + "session_data": ".eJxVjEEOwiAQRe_C2hCoDKBL956BzAyDVA1NSrsy3l2bdKHb_977L5VwXWpau8xpzOqsvDr8boT8kLaBfMd2mzRPbZlH0puid9r1dcryvOzu30HFXr-1eLAeTg4ymWLEhwwETogKe7YmBBwiW4vHQayLxB7RYXauhAgCCOr9AennOCw:1noWk6:qMUi_RrH827urayQL-oOaSVTQWNGdKP8s6TLThYq0HM", + "expire_date": "2022-05-24T20:46:02.514Z" + } + }, + { + "model": "sessions.session", + "pk": "cjhktkzqh9exi5w3ys7fqkwvhmylt5rg", + "fields": { + "session_data": ".eJxVjEEOwiAQRe_C2hCoDKBL956BzAyDVA1NSrsy3l2bdKHb_977L5VwXWpau8xpzOqsvDr8boT8kLaBfMd2mzRPbZlH0puid9r1dcryvOzu30HFXr-1eLAeTg4ymWLEhwwETogKe7YmBBwiW4vHQayLxB7RYXauhAgCCOr9AennOCw:1pFco8:V4jc9iYIUck8A4V8iBucgsTCAdddFirKT2xPXWjJjPw", + "expire_date": "2023-01-25T15:14:28.952Z" + } + }, + { + "model": "sessions.session", + "pk": "cuh93ef9py0gyskhvg20jm2tlvfr67u6", + "fields": { + "session_data": ".eJxVjEEOwiAQRe_C2hCoDKBL956BzAyDVA1NSrsy3l2bdKHb_977L5VwXWpau8xpzOqsvDr8boT8kLaBfMd2mzRPbZlH0puid9r1dcryvOzu30HFXr-1eLAeTg4ymWLEhwwETogKe7YmBBwiW4vHQayLxB7RYXauhAgCCOr9AennOCw:1noWs5:B78XeRd4tP8TOd87u42iEAAp5wRdfJPTX4V0yufvaIU", + "expire_date": "2022-05-24T20:54:17.321Z" + } + }, + { + "model": "sessions.session", + "pk": "e1an9x1y34jwxw2m7x6gj989vfge552q", + "fields": { + "session_data": ".eJxVjEEOwiAQRe_C2hCoDKBL956BzAyDVA1NSrsy3l2bdKHb_977L5VwXWpau8xpzOqsvDr8boT8kLaBfMd2mzRPbZlH0puid9r1dcryvOzu30HFXr-1eLAeTg4ymWLEhwwETogKe7YmBBwiW4vHQayLxB7RYXauhAgCCOr9AennOCw:1pGK1i:AVY30CitrKS74D_bd_s3QRH3bbGVuZjvLMgphfALevg", + "expire_date": "2023-01-27T13:23:22.911Z" + } + }, + { + "model": "sessions.session", + "pk": "efp83ves8qp00gawsisfoz7qk4xzne97", + "fields": { + "session_data": ".eJxVjEEOwiAQRe_C2hCoDKBL956BzAyDVA1NSrsy3l2bdKHb_977L5VwXWpau8xpzOqsvDr8boT8kLaBfMd2mzRPbZlH0puid9r1dcryvOzu30HFXr-1eLAeTg4ymWLEhwwETogKe7YmBBwiW4vHQayLxB7RYXauhAgCCOr9AennOCw:1pGKDF:uLjZXoiMuoii6tEGiAGqeWq8PdfHBHAZNX9gj11RfC8", + "expire_date": "2023-01-27T13:35:17.624Z" + } + }, + { + "model": "sessions.session", + "pk": "h4m4295sj843xvqmfajlds3dkvuq1um0", + "fields": { + "session_data": ".eJxVjEEOwiAQRe_C2hCoDKBL956BzAyDVA1NSrsy3l2bdKHb_977L5VwXWpau8xpzOqsvDr8boT8kLaBfMd2mzRPbZlH0puid9r1dcryvOzu30HFXr-1eLAeTg4ymWLEhwwETogKe7YmBBwiW4vHQayLxB7RYXauhAgCCOr9AennOCw:1pGfXj:WcrCO7Drey9jEUGWdxJWuH9KiEiYrYx-7GiD0IdXPZU", + "expire_date": "2023-01-28T12:21:51.438Z" + } + }, + { + "model": "sessions.session", + "pk": "hcfujqufa0xy2alniz38tke3dqm9eqof", + "fields": { + "session_data": ".eJxVjEEOwiAQRe_C2hCoDKBL956BzAyDVA1NSrsy3l2bdKHb_977L5VwXWpau8xpzOqsvDr8boT8kLaBfMd2mzRPbZlH0puid9r1dcryvOzu30HFXr-1eLAeTg4ymWLEhwwETogKe7YmBBwiW4vHQayLxB7RYXauhAgCCOr9AennOCw:1pFeup:24vcZq-yo1W12kLp1aKc78gPX7Ei9bzFG-cQ9_dwnC8", + "expire_date": "2023-01-25T17:29:31.162Z" + } + }, + { + "model": "sessions.session", + "pk": "lout2mwzatqi98yxtlt87gsfy9zrha63", + "fields": { + "session_data": ".eJxVjEEOwiAQRe_C2hCoDKBL956BzAyDVA1NSrsy3l2bdKHb_977L5VwXWpau8xpzOqsvDr8boT8kLaBfMd2mzRPbZlH0puid9r1dcryvOzu30HFXr-1eLAeTg4ymWLEhwwETogKe7YmBBwiW4vHQayLxB7RYXauhAgCCOr9AennOCw:1olDuY:YIHthO6KrZicQixjS7_vlWVZK2C0zwDtrvKZK0X60YI", + "expire_date": "2022-11-02T18:35:26.147Z" + } + }, + { + "model": "sessions.session", + "pk": "mun3kmvefd3yvouew9h0i5sb5gldyyxp", + "fields": { + "session_data": ".eJxVjEEOwiAQRe_C2hCoDKBL956BzAyDVA1NSrsy3l2bdKHb_977L5VwXWpau8xpzOqsvDr8boT8kLaBfMd2mzRPbZlH0puid9r1dcryvOzu30HFXr-1eLAeTg4ymWLEhwwETogKe7YmBBwiW4vHQayLxB7RYXauhAgCCOr9AennOCw:1o6KH3:MzYA7DmMSpebSMTKgHH3V8cqMYWzDFvpcW80C7z_gZY", + "expire_date": "2022-07-12T23:05:37.317Z" + } + }, + { + "model": "sessions.session", + "pk": "zpzeih1sxl2o0krggucjc7ta0jiwvdwf", + "fields": { + "session_data": ".eJxVjEEOwiAQRe_C2hCoDKBL956BzAyDVA1NSrsy3l2bdKHb_977L5VwXWpau8xpzOqsvDr8boT8kLaBfMd2mzRPbZlH0puid9r1dcryvOzu30HFXr-1eLAeTg4ymWLEhwwETogKe7YmBBwiW4vHQayLxB7RYXauhAgCCOr9AennOCw:1otEuA:P-lliBdzVvpKmP6zYqrZRWQ-ueoPUC9JRAI6JViGalY", + "expire_date": "2022-11-24T21:16:10.253Z" + } + }, + { + "model": "api.bco", + "pk": 1, + "fields": { + "contents": { + "object_id": "http://127.0.0.1:8000/BCO_000000/DRAFT", + "spec_version": "https://w3id.org/ieee/ieee-2791-schema/2791object.json", + "etag": "0275321b6011324035289a5624c635ce5490fbdec588aa5f3bcaf63b85369b4a", + "provenance_domain": { + "name": "Influenza A reference gene sequences", + "version": "1.1", + "created": "2021-12-01T15:20:13.614Z", + "modified": "2022-06-28T23:10:12.804Z", + "review": [], + "contributors": [ + { + "contribution": [ + "createdBy", + "authoredBy", + "curatedBy", + "importedBy", + "contributedBy" + ], + "name": "Stephanie Singleton", + "affiliation": "The George Washington University ", + "email": "ssingleton@gwu.edu" + }, + { + "contribution": [ + "createdBy" + ], + "name": "Jonathon Keeney", + "affiliation": "The George Washington University ", + "email": "keeneyjg@gwu.edu" + } + ], + "license": "MIT" + }, + "usability_domain": [ + "Influenza A (A/Puerto Rico/8/1934 H1N1) reference protein coding sequences.", + "Cross reference to genes was retrieved using mappings present in proteins that were retrieved using UniProt proteome ID (UniProt ID: UP000009255; strain A/Puerto Rico/8/1934 H1N1). This set was chosen based on UniProt curation emphasis and community use. The primary use case for this data set is to visualize how protein annotations related to drug resistance mutations, selection pressure and more map to gene sequences. " + ], + "description_domain": { + "keywords": [ + "Influenza A, Complete Genome, FASTA, Genes" + ], + "platform": [], + "pipeline_steps": [ + { + "step_number": 0, + "name": "Download files from UniProt", + "description": "Download all files associated with the Influenza A reference genome (influenza A, UP000009255) into the ARGOS Dev server Downloads folder. While logged into the server, execute the following commands: wget ftp://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/reference_proteomes/Viruses/UP000009255/*. One of the files acquired through this step and necessary for generating a new data set is 'UP000009255_211044_DNA.fasta.gz'. Then execute 'gunzip *.gz' to unzip all the files in the downloads folder. The file name is then changed to 'UP000009255_211044_DNA.fasta' in the downloads folder.", + "prerequisite": [ + { + "name": "UniProt reference page ", + "uri": { + "uri": "ftp://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/reference_proteomes/Viruses/UP000009255/", + "access_time": "2021-12-01T15:20:13.614Z" + } + } + ], + "input_list": [ + { + "uri": "ftp://argosdb-vm-dev/data/shared/argosdb/downloads/uniprot/v1.0/influenza_a/UP000009255_211044_DNA.fasta.gz", + "filename": "UP000009255_211044_DNA.fasta.gz", + "access_time": "2021-12-01T15:20:13.614Z" + } + ], + "output_list": [ + { + "uri": "ftp://argosdb-vm-dev/data/shared/argosdb/downloads/uniprot/v1.0/influenza_a/UP000009255_211044_DNA.fasta", + "filename": "UP000009255_211044_DNA.fasta", + "access_time": "2021-12-01T15:20:13.614Z" + } + ], + "version": "1.1" + }, + { + "step_number": 0, + "name": "Run the recipe created to process this fasta file, review the newly generated dataset, and change the name of the file for clarity", + "description": "This step will use a recipe and a python script to generate a new dataset. The recipe tells the python script how and what to construct. This dataset will then be then moved in the 'unreviewed' folder in the dev argosdb server, it will be manually reviewed, and then the name of the file will be changed for clarity and tracking purposes - this is prefered. \\nMake sure you are located in the correct folder to run the script (/software/argosdb/dataset-maker). Use the following command to run the recipe and the python script: ‘python3 make-dataset.py -i recipes/influenza_UP000009255_genome_sequences.json’. Next, go to the ‘unreviewed’ folder to review the newly generated dataset ‘UP000009255_211044_DNA.fasta’. Once reviewed and approved, move the file to the ‘reviewed’ folder. Lastly, once in the ‘reviewed’ folder, change the name of the file to: ‘ influenza_UP000009255_211044_DNA.fasta’", + "prerequisite": [ + { + "name": "Dataset-maker python script", + "uri": { + "uri": "ftp://argosdb-vm-dev/software/argosdb/make-dataset.py", + "filename": "make-dataset.py" + } + }, + { + "name": "Influenza genome FASTA recipe", + "uri": { + "uri": "ftp://argosdb-vm-dev/data/shared/argosdb/generated/datasets/recipes/Influenza/influenza_UP000009255_genome_sequences.json", + "filename": "influenza_UP000009255_genome_sequences.json" + } + } + ], + "input_list": [ + { + "uri": "ftp://argosdb-vm-dev/data/shared/argosdb/downloads/uniprot/v1.0/influenza_a/UP000009255_211044_DNA.fasta", + "filename": "UP000009255_211044_DNA.fasta", + "access_time": "2021-12-01T15:20:13.614Z" + } + ], + "output_list": [ + { + "uri": "ftp://argosdb-vm-dev/data/shared/argosdb/generated/datasets/reviewed/influenza_UP000009255_211044_DNA.fasta", + "filename": "influenza_UP000009255_211044_DNA.fasta", + "access_time": "2021-12-01T15:20:13.614Z" + } + ], + "version": "1.1" + } + ] + }, + "execution_domain": { + "script": [ + { + "uri": { + "uri": "ftp://argosdb-vm-dev/software/argosdb/make-dataset.py", + "filename": "make-dataset.py" + } + } + ], + "script_driver": "python3", + "software_prerequisites": [ + { + "name": "Python", + "version": "3", + "uri": { + "uri": "https://www.python.org/ftp/python/3.10.0/python-3.10.0-amd64.exe", + "filename": "" + } + } + ], + "external_data_endpoints": [ + { + "name": "python-3.10.0", + "url": "https://www.python.org/ftp/python/3.10.0/python-3.10.0-amd64.exe" + } + ], + "environment_variables": {} + }, + "io_domain": { + "input_subdomain": [ + { + "uri": { + "uri": "http://data.argosdb.org/ln2downloads/uniprot/v1.0/UP000009255_211044_DNA.fasta", + "filename": "UP000009255_211044_DNA.fasta" + } + } + ], + "output_subdomain": [ + { + "mediatype": "text/plain", + "uri": { + "uri": "http://data.argosdb.org/ln2data/uniprot/v1.0/UP000009255_211044_DNA.fasta", + "filename": "UP000009255_211044_DNA.fasta" + } + } + ] + }, + "parametric_domain": [], + "extension_domain": [ + { + "extension_schema": "http://www.w3id.org/biocompute/extension_domain/1.1.0/dataset/dataset_extension.json", + "dataset_extension": { + "additional_license": { + "data_license": "https://creativecommons.org/licenses/by/4.0/", + "script_license": "https://www.gnu.org/licenses/gpl-3.0.en.html" + }, + "dataset_categories": [ + { + "category_value": "Influenza A", + "category_name": "species" + }, + { + "category_value": "nucleotide", + "category_name": "molecule" + }, + { + "category_value": "Influenza A", + "category_name": "tag" + }, + { + "category_value": "fasta", + "category_name": "file_type" + }, + { + "category_value": "reviewed", + "category_name": "status" + }, + { + "category_value": "internal", + "category_name": "scope" + } + ] + } + } + ] + }, + "object_class": "", + "object_id": "http://127.0.0.1:8000/BCO_000000/DRAFT", + "owner_group": "bco_drafter", + "owner_user": "bco_api_user", + "prefix": "BCO", + "schema": "IEEE", + "state": "DRAFT", + "last_update": "2022-06-28T23:10:17.996Z" + } + }, + { + "model": "api.bco", + "pk": 2, + "fields": { + "contents": { + "object_id": "http://127.0.0.1:8000/BCO_000001/DRAFT", + "spec_version": "https://w3id.org/ieee/ieee-2791-schema/2791object.json", + "etag": "11ee4c3b8a04ad16dcca19a6f478c0870d3fe668ed6454096ab7165deb1ab8ea", + "provenance_domain": { + "name": "HCV1a ledipasvir resistance SNP detection", + "version": "1.1", + "created": "2017-01-24T09:40:17-0500", + "modified": "2022-06-28T23:12:50.369Z", + "review": [ + { + "status": "approved", + "reviewer_comment": "Approved by GW staff. Waiting for approval from FDA Reviewer", + "date": "2017-11-12T12:30:48-0400", + "reviewer": { + "name": "Charles Hadley King", + "affiliation": "George Washington University", + "email": "hadley_king@gwu.edu", + "contribution": [ + "curatedBy" + ], + "orcid": "https://orcid.org/0000-0003-1409-4549" + } + }, + { + "status": "approved", + "reviewer_comment": "The revised BCO looks fine", + "date": "2017-12-12T12:30:48-0400", + "reviewer": { + "name": "Eric Donaldson", + "affiliation": "FDA", + "email": "Eric.Donaldson@fda.hhs.gov", + "contribution": [ + "curatedBy" + ] + } + } + ], + "contributors": [ + { + "name": "Charles Hadley King", + "affiliation": "George Washington University", + "email": "hadley_king@gwu.edu", + "contribution": [ + "createdBy", + "curatedBy" + ], + "orcid": "https://orcid.org/0000-0003-1409-4549" + }, + { + "name": "Eric Donaldson", + "affiliation": "FDA", + "email": "Eric.Donaldson@fda.hhs.gov", + "contribution": [ + "authoredBy" + ] + } + ], + "license": "https://spdx.org/licenses/CC-BY-4.0.html" + }, + "usability_domain": [ + "Identify baseline single nucleotide polymorphisms (SNPs)[SO:0000694], (insertions)[SO:0000667], and (deletions)[SO:0000045] that correlate with reduced (ledipasvir)[pubchem.compound:67505836] antiviral drug efficacy in (Hepatitis C virus subtype 1)[taxonomy:31646]", + "Identify treatment emergent amino acid (substitutions)[SO:1000002] that correlate with antiviral drug treatment failure", + "Determine whether the treatment emergent amino acid (substitutions)[SO:1000002] identified correlate with treatment failure involving other drugs against the same virus", + "GitHub CWL example: https://github.com/mr-c/hive-cwl-examples/blob/master/workflow/hive-viral-mutation-detection.cwl#L20" + ], + "description_domain": { + "keywords": [ + "HCV1a", + "Ledipasvir", + "antiviral resistance", + "SNP", + "amino acid substitutions" + ], + "platform": [ + "HIVE" + ], + "pipeline_steps": [ + { + "step_number": 1, + "name": "HIVE-hexagon", + "description": "Alignment of reads to a set of references", + "version": "1.3", + "prerequisite": [ + { + "name": "Hepatitis C virus genotype 1", + "uri": { + "uri": "http://www.ncbi.nlm.nih.gov/nuccore/22129792", + "access_time": "2017-01-24T09:40:17-0500" + } + }, + { + "name": "Hepatitis C virus type 1b complete genome", + "uri": { + "uri": "http://www.ncbi.nlm.nih.gov/nuccore/5420376", + "access_time": "2017-01-24T09:40:17-0500" + } + }, + { + "name": "Hepatitis C virus (isolate JFH-1) genomic RNA", + "uri": { + "uri": "http://www.ncbi.nlm.nih.gov/nuccore/13122261", + "access_time": "2017-01-24T09:40:17-0500" + } + }, + { + "name": "Hepatitis C virus clone J8CF, complete genome", + "uri": { + "uri": "http://www.ncbi.nlm.nih.gov/nuccore/386646758", + "access_time": "2017-01-24T09:40:17-0500" + } + }, + { + "name": "Hepatitis C virus S52 polyprotein gene", + "uri": { + "uri": "http://www.ncbi.nlm.nih.gov/nuccore/295311559", + "access_time": "2017-01-24T09:40:17-0500" + } + } + ], + "input_list": [ + { + "uri": "http://example.com/dna.cgi?cmd=objFile&ids=514683", + "access_time": "2017-01-24T09:40:17-0500" + }, + { + "uri": "http://example.com/dna.cgi?cmd=objFile&ids=514682", + "access_time": "2017-01-24T09:40:17-0500" + } + ], + "output_list": [ + { + "uri": "http://example.com/data/514769/allCount-aligned.csv", + "access_time": "2017-01-24T09:40:17-0500" + } + ] + }, + { + "step_number": 2, + "name": "HIVE-heptagon", + "description": "variant calling", + "version": "1.3", + "input_list": [ + { + "uri": "http://example.com/data/514769/dnaAccessionBased.csv", + "access_time": "2017-01-24T09:40:17-0500" + } + ], + "output_list": [ + { + "uri": "http://example.com/data/514801/SNPProfile.csv", + "access_time": "2017-01-24T09:40:17-0500" + }, + { + "uri": "http://example.com/data/14769/allCount-aligned.csv", + "access_time": "2017-01-24T09:40:17-0500" + } + ] + } + ] + }, + "execution_domain": { + "script": [ + { + "uri": { + "uri": "https://example.com/workflows/antiviral_resistance_detection_hive.py" + } + } + ], + "script_driver": "shell", + "software_prerequisites": [ + { + "name": "HIVE-hexagon", + "version": "babajanian.1", + "uri": { + "uri": "http://example.com/dna.cgi?cmd=dna-hexagon&cmdMode=-", + "access_time": "2017-01-24T09:40:17-0500", + "sha1_checksum": "d60f506cddac09e9e816531e7905ca1ca6641e3c" + } + }, + { + "name": "HIVE-heptagon", + "version": "albinoni.2", + "uri": { + "uri": "http://example.com/dna.cgi?cmd=dna-heptagon&cmdMode=-", + "access_time": "2017-01-24T09:40:17-0500" + } + } + ], + "external_data_endpoints": [ + { + "name": "HIVE", + "url": "http://example.com/dna.cgi?cmd=login" + }, + { + "name": "access to e-utils", + "url": "http://eutils.ncbi.nlm.nih.gov/entrez/eutils/" + } + ], + "environment_variables": { + "HOSTTYPE": "x86_64-linux", + "EDITOR": "vim" + } + }, + "io_domain": { + "input_subdomain": [ + { + "uri": { + "filename": "Hepatitis C virus genotype 1", + "uri": "http://www.ncbi.nlm.nih.gov/nuccore/22129792", + "access_time": "2017-01-24T09:40:17-0500" + } + }, + { + "uri": { + "filename": "Hepatitis C virus type 1b complete genome", + "uri": "http://www.ncbi.nlm.nih.gov/nuccore/5420376", + "access_time": "2017-01-24T09:40:17-0500" + } + }, + { + "uri": { + "filename": "Hepatitis C virus (isolate JFH-1) genomic RNA", + "uri": "http://www.ncbi.nlm.nih.gov/nuccore/13122261", + "access_time": "2017-01-24T09:40:17-0500" + } + }, + { + "uri": { + "uri": "http://www.ncbi.nlm.nih.gov/nuccore/386646758", + "access_time": "2017-01-24T09:40:17-0500" + } + }, + { + "uri": { + "filename": "Hepatitis C virus S52 polyprotein gene", + "uri": "http://www.ncbi.nlm.nih.gov/nuccore/295311559", + "access_time": "2017-01-24T09:40:17-0500" + } + }, + { + "uri": { + "filename": "HCV1a_drug_resistant_sample0001-01", + "uri": "http://example.com/nuc-read/514682", + "access_time": "2017-01-24T09:40:17-0500" + } + }, + { + "uri": { + "filename": "HCV1a_drug_resistant_sample0001-02", + "uri": "http://example.com/nuc-read/514683", + "access_time": "2017-01-24T09:40:17-0500" + } + } + ], + "output_subdomain": [ + { + "mediatype": "text/csv", + "uri": { + "uri": "http://example.com/data/514769/dnaAccessionBased.csv", + "access_time": "2017-01-24T09:40:17-0500" + } + }, + { + "mediatype": "text/csv", + "uri": { + "uri": "http://example.com/data/514801/SNPProfile*.csv", + "access_time": "2017-01-24T09:40:17-0500" + } + } + ] + }, + "parametric_domain": [ + { + "param": "seed", + "value": "14", + "step": "1" + }, + { + "param": "minimum_match_len", + "value": "66", + "step": "1" + }, + { + "param": "divergence_threshold_percent", + "value": "0.30", + "step": "1" + }, + { + "param": "minimum_coverage", + "value": "15", + "step": "2" + }, + { + "param": "freq_cutoff", + "value": "0.10", + "step": "2" + } + ], + "error_domain": { + "empirical_error": { + "false_negative_alignment_hits": "<0.0010", + "false_discovery": "<0.05" + }, + "algorithmic_error": { + "false_positive_mutation_calls_discovery": "<0.00005", + "false_discovery": "0.005" + } + }, + "extension_domain": [ + { + "extension_schema": "https://raw.githubusercontent.com/biocompute-objects/extension_domain/1.1.0/fhir/fhir_extension.json", + "fhir_extension": [ + { + "fhir_endpoint": "http://fhirtest.uhn.ca/baseDstu3", + "fhir_version": "3", + "fhir_resources": [ + { + "fhir_resource": "Sequence", + "fhir_id": "21376" + }, + { + "fhir_resource": "DiagnosticReport", + "fhir_id": "6288583" + }, + { + "fhir_resource": "ProcedureRequest", + "fhir_id": "25544" + }, + { + "fhir_resource": "Observation", + "fhir_id": "92440" + }, + { + "fhir_resource": "FamilyMemberHistory", + "fhir_id": "4588936" + } + ] + } + ] + }, + { + "extension_schema": "https://raw.githubusercontent.com/biocompute-objects/extension_domain/1.1.0/scm/scm_extension.json", + "scm_extension": { + "scm_repository": "https://github.com/example/repo1", + "scm_type": "git", + "scm_commit": "c9ffea0b60fa3bcf8e138af7c99ca141a6b8fb21", + "scm_path": "workflow/hive-viral-mutation-detection.cwl", + "scm_preview": "https://github.com/example/repo1/blob/c9ffea0b60fa3bcf8e138af7c99ca141a6b8fb21/workflow/hive-viral-mutation-detection.cwl" + } + } + ] + }, + "object_class": "", + "object_id": "http://127.0.0.1:8000/BCO_000001/DRAFT", + "owner_group": "bco_drafter", + "owner_user": "test50", + "prefix": "BCO", + "schema": "IEEE", + "state": "DRAFT", + "last_update": "2022-06-28T23:13:13.841Z" + } + }, + { + "model": "api.bco", + "pk": 3, + "fields": { + "contents": { + "object_id": "http://127.0.0.1:8000/BCO_000002/DRAFT", + "spec_version": "https://w3id.org/ieee/ieee-2791-schema/2791object.json", + "etag": "caed07395b6afb58c8810d174a315260124f687740bc3bb14387de5e84c7e3d4", + "provenance_domain": { + "name": "Healthy human fecal metagenomic diversity", + "version": "1.0", + "created": "2018-11-29T11:29:08-0500", + "modified": "2022-06-28T23:19:38.283Z", + "review": [ + { + "status": "approved", + "reviewer_comment": "Approved by GW staff.", + "reviewer": { + "name": "Charles Hadley King", + "affiliation": "George Washington University", + "email": "hadley_king@gwu.edu", + "contribution": [ + "curatedBy" + ], + "orcid": "https://orcid.org/0000-0003-1409-4549" + } + } + ], + "contributors": [ + { + "name": "Charles Hadley King", + "affiliation": "George Washington University", + "email": "hadley_king@gwu.edu", + "contribution": [ + "createdBy", + "curatedBy", + "authoredBy" + ], + "orcid": "https://orcid.org/0000-0003-1409-4549" + }, + { + "name": "Raja Mazumder", + "affiliation": "George Washington University", + "email": "mazumder@gwu.edu", + "contribution": [ + "createdBy", + "curatedBy", + "authoredBy" + ], + "orcid": "https://orcid.org/0000-0001-88238-9945" + } + ], + "license": "https://spdx.org/licenses/CC-BY-4.0.html" + }, + "usability_domain": [ + "Identify the most common organism present in a human [taxID:9606] fecal [UBERON:0001988] sample, ", + "Identify the general community composition of organisms in a human [taxID:9606] fecal [UBERON:0001988] sample, ", + "CensuScope is used to do a census of the composition of the read files. Based on a user-defined threshold, organisms identified are used for alignment in the Hexagon alignment." + ], + "description_domain": { + "keywords": [ + "metagenome", + "metagenomic analysis", + "fecal" + ], + "platform": [ + "hive" + ], + "pipeline_steps": [ + { + "step_number": 1, + "name": "CensuScope", + "description": "Detect taxonomic composition of a metagenomic data set.", + "version": "1.3", + "prerequisite": [ + { + "name": "Filtered_NT_feb18_2016", + "uri": { + "uri": "https://hive.biochemistry.gwu.edu/genome/513957", + "access_time": "2016-11-30T06:46-0500" + } + } + ], + "input_list": [ + { + "uri": "https://hive.biochemistry.gwu.edu/nuc-read/545722", + "access_time": "2016-11-30T06:46-0500" + }, + { + "uri": "https://hive.biochemistry.gwu.edu/nuc-read/545721", + "access_time": "2016-11-30T06:46-0500" + } + ], + "output_list": [ + { + "uri": "https://hive.biochemistry.gwu.edu/546223/dnaAccessionBasedResult.csv", + "access_time": "2016-11-30T06:46-0500" + } + ] + }, + { + "step_number": 2, + "name": "HIVE-hexagon", + "description": "Alignment of reads to a set of references", + "version": "1.3", + "input_list": [ + { + "uri": "http://example.com/data/546223/dnaAccessionBased.csv", + "access_time": "2016-11-30T06:46-0500" + }, + { + "uri": "https://hive.biochemistry.gwu.edu/nuc-read/545722", + "access_time": "2016-11-30T06:46-0500" + }, + { + "uri": "https://hive.biochemistry.gwu.edu/nuc-read/545721", + "access_time": "2016-11-30T06:46-0500" + } + ], + "output_list": [ + { + "uri": "https://hive.biochemistry.gwu.edu/546232/alCount-Unalignedo524569-alCount--1.csv", + "access_time": "2016-11-30T06:46-0500" + } + ] + } + ] + }, + "execution_domain": { + "script": [ + { + "uri": { + "uri": "https://github.com/biocompute-objects/HIVE_metagenomics/blob/master/driverHIVEmetagenomic.py" + } + } + ], + "script_driver": "shell", + "software_prerequisites": [ + { + "name": "CensuScope", + "version": "albinoni.2", + "uri": { + "uri": "http://example.com/dna.cgi?cmd=dna-screening&cmdMode=-", + "access_time": "2017-01-24T09:40:17-0500" + } + }, + { + "name": "HIVE-hexagon", + "version": "babajanian.1", + "uri": { + "uri": "http://example.com/dna.cgi?cmd=dna-hexagon&cmdMode=-", + "access_time": "2017-01-24T09:40:17-0500" + } + } + ], + "external_data_endpoints": [ + { + "name": "HIVE", + "url": "https://hive.biochemistry.gwu.edu/dna.cgi?cmd=login" + }, + { + "name": "access to e-utils", + "url": "http://eutils.ncbi.nlm.nih.gov/entrez/eutils/" + } + ], + "environment_variables": { + "key": "HOSTTYPE", + "value": "x86_64-linux" + } + }, + "io_domain": { + "input_subdomain": [ + { + "uri": { + "filename": "Hepatitis C virus genotype 1", + "uri": "http://www.ncbi.nlm.nih.gov/nuccore/22129792", + "access_time": "2017-01-24T09:40:17-0500" + } + }, + { + "uri": { + "filename": "Hepatitis C virus type 1b complete genome", + "uri": "http://www.ncbi.nlm.nih.gov/nuccore/5420376", + "access_time": "2017-01-24T09:40:17-0500" + } + }, + { + "uri": { + "filename": "Hepatitis C virus (isolate JFH-1) genomic RNA", + "uri": "http://www.ncbi.nlm.nih.gov/nuccore/13122261", + "access_time": "2017-01-24T09:40:17-0500" + } + }, + { + "uri": { + "filename": "Hepatitis C virus clone J8CF, complete genome", + "uri": "http://www.ncbi.nlm.nih.gov/nuccore/386646758", + "access_time": "2017-01-24T09:40:17-0500" + } + }, + { + "uri": { + "filename": "Hepatitis C virus S52 polyprotein gene", + "uri": "http://www.ncbi.nlm.nih.gov/nuccore/295311559", + "access_time": "2017-01-24T09:40:17-0500" + } + }, + { + "uri": { + "filename": "HCV1a_drug_resistant_sample0001-01", + "uri": "http://example.com/nuc-read/514682", + "access_time": "2017-01-24T09:40:17-0500" + } + }, + { + "uri": { + "filename": "HCV1a_drug_resistant_sample0001-02", + "uri": "http://example.com/nuc-read/514683", + "access_time": "2017-01-24T09:40:17-0500" + } + } + ], + "output_subdomain": [ + { + "mediatype": "text/csv", + "uri": { + "uri": "http://example.com/data/514769/dnaAccessionBased.csv", + "access_time": "2017-01-24T09:40:17-0500" + } + }, + { + "mediatype": "text/csv", + "uri": { + "uri": "http://example.com/data/514801/SNPProfile*.csv", + "access_time": "2017-01-24T09:40:17-0500" + } + } + ] + }, + "parametric_domain": [ + { + "param": "seed", + "value": "14", + "step": "2" + }, + { + "param": "minimum_match_len", + "value": "66", + "step": "2" + }, + { + "param": "divergence_threshold_percent", + "value": "0.30", + "step": "2" + }, + { + "param": "minimum_coverage", + "value": "15", + "step": "2" + }, + { + "param": "freq_cutoff", + "value": "0.10", + "step": "2" + } + ], + "error_domain": { + "empirical_error": { + "false_negative_alignment_hits": "<0.0010", + "false_discovery": "<0.05" + }, + "algorithmic_error": { + "false_positive_mutation_calls_discovery": "<0.00005", + "false_discovery": "0.005" + } + }, + "extension_domain": [ + { + "extension_schema": "https://raw.githubusercontent.com/biocompute-objects/extension_domain/1.1.0/scm/scm_extension.json", + "scm_extension": { + "scm_repository": "https://github.com/biocompute-objects/HIVE_metagenomics", + "scm_type": "git", + "scm_commit": "e4620f642fb20557f6c679397696614305ed07b1", + "scm_path": "biocompute-objects/HIVE_metagenomics", + "scm_preview": "https://github.com/example/repo1/blob/c9ffea0b60fa3bcf8e138af7c99ca141a6b8fb21/workflow/hive-viral-mutation-detection.cwl" + } + } + ] + }, + "object_class": "", + "object_id": "http://127.0.0.1:8000/BCO_000002/DRAFT", + "owner_group": "bco_drafter", + "owner_user": "hivelab37", + "prefix": "BCO", + "schema": "IEEE", + "state": "DRAFT", + "last_update": "2022-06-28T23:19:53.937Z" + } + }, + { + "model": "api.bco", + "pk": 4, + "fields": { + "contents": { + "object_id": "http://127.0.0.1:8000/BCO_000003/DRAFT", + "spec_version": "https://w3id.org/ieee/ieee-2791-schema/2791object.json", + "etag": "2d96bb6e18aed202332d66f4ef9f909cf419d72bd33af6833957ad372d8f7d1f", + "provenance_domain": { + "name": "SARS-CoV-2 reference proteome sequences", + "version": "1.0", + "created": "2021-12-16T21:06:50.969977Z", + "modified": "2022-06-28T23:21:47.218Z", + "review": [], + "contributors": [ + { + "contribution": [ + "createdBy", + "authoredBy", + "curatedBy", + "importedBy", + "contributedBy" + ], + "name": "Stephanie Singleton", + "affiliation": "The George Washington University ", + "email": "ssingleton@gwu.edu" + }, + { + "contribution": [ + "createdBy" + ], + "name": "Jonathon Keeney", + "affiliation": "The George Washington University ", + "email": "keeneyjg@gwu.edu" + } + ], + "license": "MIT" + }, + "usability_domain": [ + "SARS-CoV-2 (Wuhan-Hu-1) reference proteome fasta sequences.", + "Data was retrieved using UniProt proteome ID (UniProt ID: UP000464024; Severe acute respiratory syndrome coronavirus 2 isolate Wuhan-Hu-1). This set was chosen based on UniProt curation emphasis and community use. The primary use case for this data set is to use the protein accessions and amino acid coordinates to refer to annotations related to drug resistance mutations, selection pressure and more." + ], + "description_domain": { + "keywords": [ + "SARS-CoV-2, COVID-19, Complete Proteome, FASTA, Proteins" + ], + "platform": [], + "pipeline_steps": [ + { + "step_number": 1, + "name": "Download all available files from UniProt", + "description": "Download all files associated with the SARS-Cov-2 reference genome (UniProt ID: UP000464024) into the ARGOS Dev server Downloads folder. While logged into the server, execute the following commands: wget ftp://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/reference_proteomes/Viruses/UP000464024/*. One of the files acquired through this step, and necessary for generating a new data set is 'UP000464024_2697049.fasta.gz'. Then execute 'gunzip *.gz' to unzip all the files in the downloads folder. The file name is then changed to 'UP000464024_2697049.fasta' in the downloads folder.", + "prerequisite": [ + { + "name": "UniProt reference page ", + "uri": { + "uri": "https://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/reference_proteomes/Viruses/UP000464024/", + "access_time": "2021-12-16T21:06:50.969977Z" + } + } + ], + "input_list": [ + { + "uri": "ftp://argosdb-vm-dev/data/shared/argosdb/downloads/uniprot/v1.0/sars_cov_2/UP000464024_2697049.fasta.gz", + "filename": "UP000464024_2697049.fasta.gz", + "access_time": "2021-12-16T21:06:50.969977Z" + } + ], + "output_list": [ + { + "uri": "ftp://argosdb-vm-dev/data/shared/argosdb/downloads/uniprot/v1.0/sars_cov_2/UP000464024_2697049.fasta", + "filename": "UP000464024_2697049.fasta", + "access_time": "2021-12-16T21:06:50.969977Z" + } + ], + "version": "1.0" + }, + { + "step_number": 2, + "name": "Run the recipe created to process this fasta file, review the newly generated dataset, and change the name of the file for clarity", + "description": "This step will use a recipe and a python script to generate a new dataset. The recipe tells the python script how and what to construct. This dataset will then be then moved in the 'unreviewed' folder in the dev argosdb server, it will be manually reviewed, and then the name of the file will be changed for clarity and tracking purposes - this is prefered. Make sure you are located in the correct folder to run the script (/software/argosdb/dataset-maker). Use the following command to run the recipe and the python script: ‘python3 make-dataset.py -i recipes/sars-cov-2_UP000464024_proteome_sequences.json’. Next, go to the ‘unreviewed’ folder to review the newly generated dataset ‘UP000464024_2697049.fasta’. Once reviewed and approved, move the file to the ‘reviewed’ folder. Lastly, once in the ‘reviewed’ folder, change the name of the file to: ‘sars-cov-2_UP000464024_2697049.fasta’", + "prerequisite": [ + { + "name": "Dataset-maker python script", + "uri": { + "uri": "ftp://argosdb-vm-dev/software/argosdb/make-dataset.py", + "filename": "make-dataset.py" + } + }, + { + "name": "SARS-CoV-2 genome FASTA recipe", + "uri": { + "uri": "ftp://argosdb-vm-dev/data/shared/argosdb//generated/datasets/recipes/sars-cov-2_UP000464024_proteome_sequences.json", + "filename": "sars-cov-2_UP000464024_proteome_sequences.json" + } + } + ], + "input_list": [ + { + "uri": "ftp://argosdb-vm-dev/data/shared/argosdb/downloads/uniprot/v1.0/sars_cov_2/UP000464024_2697049.fasta", + "filename": "UP000464024_2697049.fasta", + "access_time": "2021-12-16T21:06:50.969977Z" + } + ], + "output_list": [ + { + "uri": "ftp://argosdb-vm-dev/data/shared/argosdb/generated/datasets/reviewed/sars-cov-2_UP000464024_2697049.fasta", + "filename": "sars-cov-2_UP000464024_2697049.fasta", + "access_time": "2021-12-16T21:06:50.969977Z" + } + ], + "version": "1.0" + } + ] + }, + "execution_domain": { + "script": [ + { + "uri": { + "uri": "ftp://argosdb-vm-dev/software/argosdb/make-dataset.py", + "filename": "make-dataset.py" + } + } + ], + "script_driver": "python3", + "software_prerequisites": [ + { + "name": "Python", + "version": "3.10.0", + "uri": { + "uri": "https://www.python.org/ftp/python/3.10.0/python-3.10.0-amd64.exe", + "filename": "" + } + } + ], + "external_data_endpoints": [ + { + "name": "python-3.10.0", + "url": "https://www.python.org/ftp/python/3.10.0/python-3.10.0-amd64.exe" + } + ], + "environment_variables": {} + }, + "io_domain": { + "input_subdomain": [ + { + "uri": { + "uri": "http://data.argosdb.org/ln2downloads/uniprot/v1.0/UP000464024_2697049.fasta", + "filename": "UP000464024_2697049.fasta.gz" + } + } + ], + "output_subdomain": [ + { + "mediatype": "text/plain", + "uri": { + "uri": "http://data.argosdb.org/ln2data/uniprot/v1.0/UP000464024_2697049.fasta", + "filename": "UP000464024_2697049.fasta" + } + } + ] + }, + "parametric_domain": [], + "extension_domain": [ + { + "extension_schema": "http://www.w3id.org/biocompute/extension_domain/1.2.0/dataset/dataset_extension.json", + "dataset_extension": { + "additional_license": { + "data_license": "https://creativecommons.org/licenses/by/4.0/", + "script_license": "https://www.gnu.org/licenses/gpl-3.0.en.html" + }, + "dataset_categories": [ + { + "category_value": "SARS-CoV-2", + "category_name": "species" + }, + { + "category_value": "protein", + "category_name": "molecule" + }, + { + "category_value": "SARS-CoV-2", + "category_name": "tag" + }, + { + "category_value": "fasta", + "category_name": "file_type" + }, + { + "category_value": "non-core", + "category_name": "priority" + }, + { + "category_value": "reviewed", + "category_name": "status" + }, + { + "category_value": "internal", + "category_name": "scope" + } + ] + } + } + ] + }, + "object_class": "", + "object_id": "http://127.0.0.1:8000/BCO_000003/DRAFT", + "owner_group": "bco_drafter", + "owner_user": "jdoe58", + "prefix": "BCO", + "schema": "IEEE", + "state": "DRAFT", + "last_update": "2022-06-28T23:21:56.878Z" + } + }, + { + "model": "api.bco", + "pk": 5, + "fields": { + "contents": { + "object_id": "http://127.0.0.1:8000/TEST_000001/DRAFT", + "spec_version": "https://w3id.org/ieee/ieee-2791-schema/2791object.json", + "etag": "998f0b8a499bd88952f945367c17d62e95611c9d026fb0713b84a5fa9bfb745d", + "provenance_domain": { + "name": "ARGOSdb QC related annotation data property list", + "version": "1.2", + "created": "2022-02-07T17:36:05.872Z", + "modified": "2022-06-28T23:44:49.394Z", + "contributors": [ + { + "contribution": [ + "createdBy", + "authoredBy", + "contributedBy" + ], + "name": "Charles Hadley King", + "affiliation": "George Washington University", + "email": "hadley_king@gwu.edu", + "orcid": "https://orcid.org/0000-0003-1409-4549" + }, + { + "contribution": [ + "curatedBy", + "contributedBy" + ], + "name": "Stephanie Singleton", + "affiliation": "The George Washington University ", + "email": "ssingleton@gwu.edu" + }, + { + "contribution": [ + "createdBy", + "curatedBy" + ], + "name": "Jonathon Keeney", + "affiliation": "The George Washington University ", + "email": "keeneyjg@gwu.edu" + }, + { + "name": "Raja Mazumder", + "contribution": [ + "curatedBy" + ], + "affiliation": "The George Washington University ", + "email": "mazumder@gwu.edu", + "orcid": "https://orcid.org/0000-0001-8823-9945" + } + ], + "license": "https://github.com/FDA-ARGOS/data.argosdb/blob/v0.4_Feb/LICENSE" + }, + "usability_domain": [ + "List of controlled vocabulary terms for ARGOSdb annotation and metadata table data properties.", + "This sheet was created to aid in the integration of ARGOS data from many disparate sources. Each of the column headers in each of the respective data sheets displayed on www.data.argosdb.org was recommended by project members and collaborators from the FDA. The resulting list was manually curated to combine similar terms, and provide a consistent representation across all datasets in ARGOSdb.", + "The final result here is a list of properties and descriptive information about the property. The following are the column headers and their meaning: Property - consensus name for data property described in row. Data Object Type - The dataset this property is used in. Optional/Required - indicates if the property is REQUIRED to hava a valid data row. $id - For JSON schema conversion. Title - Human readable name for property. Default is the same as property. Type - property type as defined by JSON types. default - a default value for property. examples - and example for the property. pattern - the regular expression evaluation for this property. description - A definition and additional information about the property.", + "The primary use case for this property definition list is to ensure all data submitted to data.argosdb.org is following a consistent representation, and adhears to a controlled vocabulary of data properties." + ], + "description_domain": { + "keywords": [ + "curation", + "definitions", + "ontology", + "controlled vocabulary" + ], + "platform": [], + "pipeline_steps": [ + { + "step_number": 1, + "name": "Header download", + "description": "Create a text file with the headers from each data sheet published for v0.3. Using the command `head -1 > ~/headers.txt`", + "prerequisite": [], + "input_list": [ + { + "uri": "http://data.argosdb.org/ln2downloads/argosdb_qc/02_15_2022/SRA_ngsQC.tsv", + "filename": "SRA_ngsQC.tsv" + }, + { + "uri": "http://data.argosdb.org/ln2downloads/argosdb_qc/02_15_2022/PRJNA231221_AssemblyUpdated.tsv", + "filename": "PRJNA231221_AssemblyUpdated.tsv" + }, + { + "uri": "http://data.argosdb.org/ln2downloads/argosdb_qc/02_15_2022/sars-cov-2_lineage_mutations.tsv", + "filename": "sars-cov-2_lineage_mutations.tsv" + } + ], + "output_list": [ + { + "uri": "https://argosdb-vm-dev/software/argosdb/home/headers.txt", + "filename": "headers.txt" + } + ] + }, + { + "step_number": 2, + "name": "Manual Curation", + "description": "Manual curation of headers.txt into a curated list of terms with definitions.", + "prerequisite": [], + "input_list": [ + { + "uri": "https://argosdb-vm-dev/software/argosdb/home/headers.txt" + } + ], + "output_list": [ + { + "uri": "https://data.argosdb.org/ ln2data/02_15_2022/annotation_property_list.tsv", + "access_time": "2022-02-03T13:42:44-0500", + "filename": "annotation_property_list.tsv" + } + ] + } + ] + }, + "execution_domain": { + "script": [ + { + "uri": { + "uri": "https://docs.google.com/spreadsheets/d/1EbHiGSmv6ZTGk6erQCl1oH8ye7EFuQPwKfWS5_7Cn60/edit#gid=0", + "filename": "FINAL_v0.3_argos_dict" + } + } + ], + "script_driver": "Google Drive/Sheets", + "software_prerequisites": [ + { + "name": "Microsof Excel", + "version": "16.57", + "uri": { + "uri": "https://www.microsoft.com/en-us/microsoft-365/excel" + } + } + ], + "external_data_endpoints": [ + { + "name": "data.ARGOSdb.org", + "url": "data.ARGOSdb.org" + }, + { + "name": "Google Drive", + "url": "https://drive.google.com/drive/u/3/folders/1uUa4UYG3dd6yTOdxiyoav6qktit4-J-9" + } + ], + "environment_variables": {} + }, + "io_domain": { + "input_subdomain": [ + { + "uri": { + "uri": "http://data.argosdb.org/ln2downloads/argosdb_qc/02_15_2022/SRA_ngsQC.tsv", + "filename": "SRA_ngsQC.tsv" + } + }, + { + "uri": { + "uri": "http://data.argosdb.org/ln2downloads/argosdb_qc/02_15_2022/PRJNA231221_AssemblyUpdated.tsv", + "filename": "PRJNA231221_AssemblyUpdated.tsv" + } + }, + { + "uri": { + "uri": "http://data.argosdb.org/ln2downloads/argosdb_qc/02_15_2022/sars-cov-2_lineage_mutations.tsv", + "filename": "sars-cov-2_lineage_mutations.tsv" + } + } + ], + "output_subdomain": [ + { + "mediatype": "text/tsv", + "uri": { + "uri": "https://data.argosdb.org/ ln2data/02_15_2022/annotation_property_list.tsv", + "access_time": "2022-02-03T13:42:44-0500", + "filename": "annotation_property_list.tsv" + } + } + ] + }, + "parametric_domain": [], + "error_domain": { + "empirical_error": {}, + "algorithmic_error": {} + }, + "extension_domain": [ + { + "extension_schema": "http://www.w3id.org/biocompute/extension_domain/1.2.0/dataset/dataset_extension.json", + "dataset_extension": { + "additional_license": { + "data_license": "https://creativecommons.org/licenses/by/4.0/", + "script_license": "https://www.gnu.org/licenses/gpl-3.0.en.html" + }, + "dataset_categories": [ + { + "category_value": "Other", + "category_name": "species" + }, + { + "category_value": "Other", + "category_name": "molecule" + }, + { + "category_value": "non-core", + "category_name": "priority" + }, + { + "category_value": "Dictionary", + "category_name": "species" + }, + { + "category_value": "tsv", + "category_name": "file_type" + }, + { + "category_value": "reviewed", + "category_name": "status" + } + ] + } + } + ] + }, + "object_class": "", + "object_id": "http://127.0.0.1:8000/TEST_000001/DRAFT", + "owner_group": "test_drafter", + "owner_user": "test50", + "prefix": "TEST", + "schema": "IEEE", + "state": "DRAFT", + "last_update": "2022-06-28T23:44:58.149Z" + } + }, + { + "model": "api.bco", + "pk": 6, + "fields": { + "contents": { + "object_id": "http://127.0.0.1:8000/OTHER_000001/DRAFT", + "spec_version": "https://w3id.org/ieee/ieee-2791-schema/2791object.json", + "etag": "39fb1c62f43ff72ac95f91a433d5e425fb08bc07ec0f719ecfd27fb3cd3a3635", + "provenance_domain": { + "name": "Lineage assignment for an isolate of M. tuberculosis based on its single nucleotide polymorphism (SNP) profile based on UVC v1.0.", + "version": "1.0", + "created": "2017-11-12T12:30:48-0400", + "modified": "2022-06-28T23:41:33.439Z", + "review": [ + { + "status": "approved", + "reviewer_comment": "Approved by GW staff.", + "date": "2017-11-12T12:30:48-0400", + "reviewer": { + "name": "Anjan Purkayastha", + "affiliation": "George Washington University", + "email": "anjan.purkayastha@gmail.com", + "contribution": [ + "curatedBy" + ] + } + }, + { + "status": "approved", + "reviewer_comment": "Approved by Critical Path Institute staff.", + "date": "2017-11-12T12:30:48-0400", + "reviewer": { + "name": "Marco Schito", + "affiliation": "Critical Path Institute", + "email": "mschito@c-path.org", + "contribution": [ + "curatedBy" + ] + } + }, + { + "status": "approved", + "date": "2017-11-12T12:30:48-0400", + "reviewer_comment": "Approved by Critical Path Institute staff.", + "reviewer": { + "name": "Kenneth Ramey", + "affiliation": "Critical Path Institute", + "email": "kramey@c-path.org", + "contribution": [ + "curatedBy" + ] + } + } + ], + "contributors": [ + { + "name": "Matthew Ezewudo", + "affiliation": "Critical Path Institute", + "email": "mezewudo@c-path.org", + "contribution": [ + "authoredBy" + ] + }, + { + "name": "Jamie Posie", + "affiliation": "CDC Atlanta, GA", + "contribution": [ + "authoredBy" + ] + }, + { + "name": "Anjan Purkayastha", + "affiliation": "George Washington University", + "email": "anjan.purkayastha@gmail.com", + "contribution": [ + "authoredBy", + "curatedBy" + ] + }, + { + "name": "Marco Schito", + "affiliation": "Critical Path Institute", + "email": "mschito@c-path.org", + "contribution": [ + "authoredBy" + ] + }, + { + "name": "Charles Hadley King", + "affiliation": "George Washington University", + "email": "hadley_king@gwu.edu", + "contribution": [ + "authoredBy", + "curatedBy" + ], + "orcid": "https://orcid.org/0000-0003-1409-4549" + }, + { + "name": "ReseqTB Consortium", + "affiliation": "Critical Path Institute", + "email": "info@c-path.org", + "contribution": [ + "createdAt" + ] + } + ], + "license": "https://spdx.org/licenses/CC-BY-4.0.html" + }, + "usability_domain": [ + "Lineage assignment for an isolate of M. tuberculosis[taxonomy:1773] based on its single nucleotide polymorphism [so:0000694] (SNP) profile." + ], + "description_domain": { + "keywords": [ + "Mycobacterium tuberculosis", + "Phylogenetics", + "Bacterial lineage analysis", + "Single Nucleotide Polymorphism", + "SNP" + ], + "platform": [ + "Linux" + ], + "pipeline_steps": [ + { + "step_number": 1, + "name": "FastQValidator", + "description": "To verify if input file is in fastq format", + "version": "1.0.5", + "input_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_input_fastq_files/ERR552106_1.fastq.gz" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_input_fastq_files/ERR552106_2.fastq.gz" + } + ], + "output_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/validation/Validation_report.txt" + } + ] + }, + { + "step_number": 2, + "name": "FastQC", + "description": "assess Quality of raw sequence reads", + "version": "0.11.5", + "input_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_input_fastq_files/ERR552106_1.fastq.gz" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_input_fastq_files/ERR552106_2.fastq.gz" + } + ], + "output_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/fastqc/ERR552106_1_fastqc.html" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/fastqc/ERR552106_1_fastqc.zip" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/fastqc/ERR552106_2_fastqc.html" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/fastqc/ERR552106_2_fastqc.zip" + } + ] + }, + { + "step_number": 3, + "name": "Kraken", + "description": "Assesses species specificity of sequence reads", + "version": "0.10.5", + "input_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_input_fastq_files/ERR552106_1.fastq.gz" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_input_fastq_files/ERR552106_2.fastq.gz" + } + ], + "output_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/kraken/final_report.txt" + } + ] + }, + { + "step_number": 4, + "name": "BWA", + "description": "Aligns sequence reads to reference genome", + "version": "0.7.12", + "prerequisite": [ + { + "name": "M. tuberculosis H37Rv genome reference file", + "uri": { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/NC_000962.fa" + } + } + ], + "input_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_input_fastq_files/ERR552106_1.fastq.gz" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_input_fastq_files/ERR552106_2.fastq.gz" + } + ], + "output_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.bam" + } + ] + }, + { + "step_number": 5, + "name": "Qualimap", + "description": "Assess mapping quality of aligned reads", + "version": "2.1.1", + "input_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.bam" + } + ], + "output_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/agogo.css" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/ajax-loader.gif" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/basic.css" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/bgfooter.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/bgtop.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/comment-bright.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/comment-close.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/comment.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/doctools.js" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/down-pressed.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/down.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/file.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/jquery.js" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/minus.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/plus.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/pygments.css" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/qualimap_logo_small.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/report.css" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/searchtools.js" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/underscore.js" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/up-pressed.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/up.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/websupport.js" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_coverage_0to50_histogram.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_coverage_across_reference.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_coverage_histogram.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_coverage_quotes.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_gc_content_per_window.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_homopolymer_indels.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_insert_size_across_reference.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_insert_size_histogram.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_mapping_quality_across_reference.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_mapping_quality_histogram.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_reads_clipping_profile.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_reads_content_per_read_position.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_uniq_read_starts_histogram.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/coverage_across_reference.txt" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/coverage_histogram.txt" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/duplication_rate_histogram.txt" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/genome_fraction_coverage.txt" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/homopolymer_indels.txt" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/insert_size_across_reference.txt" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/insert_size_histogram.txt" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/mapped_reads_clipping_profile.txt" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/mapped_reads_gc-content_distribution.txt" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/mapped_reads_nucleotide_content.txt" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/mapping_quality_across_reference.txt" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/mapping_quality_histogram.txt" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/genome_results.txt" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/qualimapReport.html" + } + ] + }, + { + "step_number": 6, + "name": "MarkDuplicates", + "description": "Removes duplicate reads from alignment", + "version": "1.134", + "input_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.bam" + } + ], + "output_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.no_dups.bam" + } + ] + }, + { + "step_number": 7, + "name": "IndelRealigner", + "description": "Perfoms re-alignment around insertions and deletions", + "version": "3.4.0", + "prerequisite": [ + { + "name": "M. tuberculosis H37Rv genome reference file", + "uri": { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/NC_000962.fa" + } + } + ], + "input_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.no_dups.bam" + } + ], + "output_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.realigned.bam" + } + ] + }, + { + "step_number": 8, + "name": "BaseRecalibrator", + "description": "Recalibrates base quality scores", + "version": "3.4.0", + "prerequisite": [ + { + "name": "M. tuberculosis H37Rv genome reference file", + "uri": { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/NC_000962.fa" + } + }, + { + "name": "Variation sites file", + "uri": { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/snps.vcf" + } + } + ], + "input_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.realigned.bam" + } + ], + "output_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.recalibrated.bam" + } + ] + }, + { + "step_number": 9, + "name": "BuildBamIndex", + "description": "Indexes sorted BAM files for variant calling", + "version": "1.134", + "input_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.recalibrated.bam" + } + ], + "output_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.recalibrated.bai" + } + ] + }, + { + "step_number": 10, + "name": "UnifiedGenotyper", + "description": "Calls variant positions in alignment", + "version": "3.4.0", + "prerequisite": [ + { + "name": "M. tuberculosis H37Rv genome reference file", + "uri": { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/NC_000962.fa" + } + } + ], + "input_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.recalibrated.bam" + } + ], + "output_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_GATK.vcf" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_GATK.mpileup" + } + ] + }, + { + "step_number": 11, + "name": "VCFtools", + "description": "Filters raw VCF to exclude poor quality variants", + "version": "0.1.12b", + "prerequisite": [ + { + "name": "Excluded list file", + "uri": { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/excluded_loci.txt" + } + } + ], + "input_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_GATK.vcf" + } + ], + "output_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_GATK_filtered.vcf" + } + ] + }, + { + "step_number": 12, + "name": "SnpEff", + "description": "Annotates variants in VCF file", + "version": "4.1", + "prerequisite": [ + { + "name": "M. tuberculosis H37Rv GenBank File", + "uri": { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/NC_000962.gbk" + } + } + ], + "input_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_GATK_filtered.vcf" + } + ], + "output_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_GATK_annotated.vcf" + } + ] + }, + { + "step_number": 13, + "name": "parse_annotation.py", + "description": "Parses annotated VCF to create annotation text file", + "version": "", + "input_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_GATK_annotated.vcf" + } + ], + "output_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_Final_annotation.txt" + } + ] + }, + { + "step_number": 14, + "name": "lineage_parser.py", + "description": "Assigns Mycobacterium tuberculosis Complex lineage to isolate", + "version": "", + "prerequisite": [ + { + "name": "Lineage Markers File", + "uri": { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/lineage_markers.txt" + } + } + ], + "input_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_Final_annotation.txt" + } + ], + "output_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106.lineage_report.txt" + } + ] + }, + { + "step_number": 15, + "name": "BEDtools", + "description": "Creates loci based coverage statistics of genome coverage", + "version": "2.17.0", + "input_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.recalibrated.bam" + } + ], + "output_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_genome_region_coverage.txt" + } + ] + }, + { + "step_number": 16, + "name": "resis_parser.py", + "description": "Creates a coverage depth and width table of all loci in isolate genome", + "version": "", + "input_list": [ + { + "uri": "[path_to_genome_loci_text_file]" + }, + { + "uri": "[path_to_per_position_depth_text_file]" + } + ], + "output_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_Coverage.txt" + } + ] + } + ] + }, + "execution_domain": { + "script": [ + { + "uri": { + "uri": "https://github.com/CPTR-ReSeqTB/UVP/commit/9e8f588b3cd3f5eebde29f7d2879e1a1e1c1aed3" + } + } + ], + "script_driver": "Python", + "software_prerequisites": [ + { + "name": "BEDtools", + "version": "2.17.0", + "uri": { + "uri": "https://github.com/arq5x/bedtools/releases/tag/v2.17.0", + "access_time": "2018-10-08T18:35:33-0400", + "sha1_checksum": "5e4507c54355a4a38c6d3e7497a2836a123c6655" + } + }, + { + "name": "Bcftools", + "version": "1.2", + "uri": { + "uri": "https://github.com/samtools/bcftools/releases/download/1.2/bcftools-1.2.tar.bz2", + "access_time": "2018-10-08T18:35:33-0400", + "sha1_checksum": "352908143497da0640b928248165e83212dc4298" + } + }, + { + "name": "BWA", + "version": "0.7.12", + "uri": { + "uri": "https://sourceforge.net/projects/bio-bwa/files/bwa-0.7.12.tar.bz2/download", + "access_time": "2018-10-08T18:35:33-0400", + "sha1_checksum": "6389ca75328bae6d946bfdd58ff4beb0feebaedd" + } + }, + { + "name": "FastQC", + "version": "0.11.5", + "uri": { + "uri": "https://www.bioinformatics.babraham.ac.uk/projects/fastq_screen/fastq_screen_v0.13.0.tar.gz", + "access_time": "2018-10-08T18:35:33-0400" + } + }, + { + "name": "GATK", + "version": "3.4.0", + "uri": { + "uri": "https://github.com/broadgsa/gatk-protected/releases/tag/3.4", + "access_time": "2018-10-08T18:35:33-0400", + "sha1_checksum": "f19618653a0d23baaf147efe7f14aeb4eeb0cbb8" + } + }, + { + "name": "Kraken", + "version": "0.10.5", + "uri": { + "uri": "https://ccb.jhu.edu/software/kraken/dl/kraken-0.10.5-beta.tgz", + "access_time": "2018-10-08T18:35:33-0400" + } + }, + { + "name": "Picard", + "version": "1.134", + "uri": { + "uri": "https://github.com/broadinstitute/picard/releases/tag/1.134", + "access_time": "2018-10-08T18:35:33-0400", + "sha1_checksum": "a7a08c474e4d99346eec7a9956a8fe71943b5d80" + } + }, + { + "name": "Pigz", + "version": "2.3.3", + "uri": { + "uri": "http://springdale.math.ias.edu/data/puias/unsupported/7/SRPMS/pigz-2.3.3-1.sdl7.src.rpm", + "access_time": "2018-10-08T18:35:33-0400" + } + }, + { + "name": "Qualimap", + "version": "2.11", + "uri": { + "uri": "https://bitbucket.org/kokonech/qualimap/downloads/qualimap_v2.1.1.zip", + "access_time": "2018-10-08T18:35:33-0400" + } + }, + { + "name": "Samtools", + "version": "1.2", + "uri": { + "uri": "https://github.com/samtools/samtools/archive/1.2.zip", + "access_time": "2018-10-08T18:35:33-0400" + } + }, + { + "name": "SnpEff", + "version": "4.1", + "uri": { + "uri": "https://sourceforge.net/projects/snpeff/files/snpEff_v4_1l_core.zip/download", + "access_time": "2018-10-08T18:35:33-0400", + "sha1_checksum": "c96e21564b05d6a7912e4dd35f9ef6fe2e094fbb" + } + }, + { + "name": "Vcftools", + "version": "0.1.12b", + "uri": { + "uri": "https://sourceforge.net/projects/vcftools/files/vcftools_0.1.12.tar.gz/download", + "access_time": "2018-10-08T18:35:33-0400", + "sha1_checksum": "29a1ab67786e39be57cbb1ef4e0f6682110b7516" + } + } + ], + "external_data_endpoints": [ + { + "name": "BCOReSeqTB", + "url": "https://github.com/CPTR-ReSeqTB/UVP/" + } + ], + "environment_variables": { + "CORE": "8" + } + }, + "io_domain": { + "input_subdomain": [ + { + "uri": { + "filename": "Mycobacterium tuberculosis H37Rv, complete genome", + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/NC_000962.fa" + } + }, + { + "uri": { + "filename": "Mycobacterium tuberculosis H37Rv, complete genome", + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/NC_000962.gbk" + } + }, + { + "uri": { + "filename": "excluded_loci", + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/excluded_loci.txt" + } + }, + { + "uri": { + "filename": "lineage_markers", + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/lineage_markers.txt" + } + }, + { + "uri": { + "filename": "variation sites", + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/snps.vcf" + } + }, + { + "uri": { + "filename": "ERR552106_2.fastq.gz", + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_input_fastq_files/ERR552106_2.fastq.gz" + } + }, + { + "uri": { + "filename": "ERR552106_1.fastq.gz", + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_input_fastq_files/ERR552106_1.fastq.gz" + } + } + ], + "output_subdomain": [ + { + "mediatype": "text/csv", + "uri": { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106.lineage_report.txt" + } + }, + { + "mediatype": "text/csv", + "uri": { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106.log" + } + }, + { + "mediatype": "text/csv", + "uri": { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_Coverage.txt" + } + }, + { + "mediatype": "text/csv", + "uri": { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106ERR552106_Final_annotation.txt" + } + }, + { + "mediatype": "text/csv", + "uri": { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_GATK.vcf" + } + }, + { + "mediatype": "text/csv", + "uri": { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_GATK_filtered.vcf" + } + }, + { + "mediatype": "text/csv", + "uri": { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_Lineage.txt" + } + }, + { + "mediatype": "text/csv", + "uri": { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_deleted_loci.txt" + } + }, + { + "mediatype": "text/csv", + "uri": { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_genome_region_coverage.txt" + } + } + ] + }, + "error_domain": { + "empirical_error": { + "description": [ + "This test object represents tests done with single lineage sequences to establish the sensitivity of UVP to detect lineage and antibiotic resistant variants", + "Test objective was to evaluate the ability of UVP to identify strain lineage and antibiotic resistant variants from samples of high, medium, low sequence qualities and depths of coverage of 10, 15, 20, 25 and 30-fold. Simulated reads developed from 12 lineage-specific M. tuberculosis (Mtb) genome sequences were used to test UVP." + ], + "parameters": { + "sample_type": "single Mtb lineages (n = 12) with antibiotic resistant variants introduced in silico", + "total_sample_size": "180", + "platform": "Illumina HiSeq 2000", + "paired_end": true, + "length": "100", + "simulated": true, + "program": "ART", + "simulator_parameters": [ + { + "ss": "hs20" + }, + { + "l": "100" + }, + { + "m": "500" + }, + { + "qU": "45" + }, + { + "s": "100" + } + ], + "sequence_quality_level_parameters": { + "description": "these correspond to the ART parameters: qs, qs2, ir, ir2, dr, dr2.", + "sequence_quality_high": { + "substitution_error_rate_R1": "0.0004", + "substitution_error_rate_R2": "0.0007", + "insertion_error_rate_R1": "0.00009", + "insertion_error_rate_R2": "0.00015", + "deletion_error_rate_R1": "0.00011", + "deletion_error_rate_R2": "0.00023", + "units": "errors per sequenced base" + }, + "sequence_quality_medium": { + "substitution_error_rate_R1": "0.004", + "substitution_error_rate_R2": "0.007", + "insertion_error_rate_R1": "0.0009", + "insertion_error_rate_R2": "0.0015", + "deletion_error_rate_R1": "0.0011", + "deletion_error_rate_R2": "0.0023", + "units": "errors per sequenced base" + }, + "sequence_quality_low": { + "substitution_error_rate_R1": "0.04", + "substitution_error_rate_R2": "0.07", + "insertion_error_rate_R1": "0.009", + "insertion_error_rate_R2": "0.015", + "deletion_error_rate_R1": "0.011", + "deletion_error_rate_R2": "0.023", + "units": "errors per sequenced base" + } + } + }, + "summary results": { + "sequence_quality_high": { + "sample size": "60", + "result": { + "lineage_assignment_rate": "93.33", + "mean_AR_identification_rate": "86.72", + "Units": "Percentage" + } + }, + "sequence_quality_medium": { + "sample size": "60", + "result": { + "lineage_assignment_rate": "90.00", + "mean_AR_identification_rate": "81.00", + "Units": "Percentage" + } + }, + "sequence_quality_low": { + "sample size": "60", + "result": { + "lineage_assignment_rate": "0.00", + "mean_AR_identification_rate": "0.00", + "Units": "Percentage" + } + }, + "coverage_10": { + "sample size": "36", + "result": { + "lineage_assignment_rate": "41.67", + "mean_AR_identification_rate": "22.42", + "Units": "Percentage" + } + }, + "coverage_15": { + "sample size": "36", + "result": { + "lineage_assignment_rate": "63.89", + "mean_AR_identification_rate": "57.14", + "Units": "Percentage" + } + }, + "coverage_20": { + "sample size": "36", + "result": { + "lineage_assignment_rate": "66.67", + "mean_AR_identification_rate": "66.46", + "Units": "Percentage" + } + }, + "coverage_25": { + "sample size": "36", + "result": { + "lineage_assignment_rate": "66.67", + "mean_AR_identification_rate": "66.66", + "Units": "Percentage" + } + }, + "coverage_30": { + "sample size": "36", + "result": { + "lineage_assignment_rate": "66.67", + "mean_AR_identification_rate": "66.66", + "Units": "Percentage" + } + } + }, + "detailed results": [ + { + "sequence_quality_high": { + "coverage_10": { + "sample size": "12", + "result": { + "lineage_assignment_rate": "66.67", + "mean_AR_identification_rate": "40.75", + "Units": "Percentage" + } + }, + "coverage_15": { + "sample size": "12", + "result": { + "lineage_assignment_rate": "100.00", + "mean_AR_identification_rate": "92.85", + "Units": "Percentage" + } + }, + "coverage_20": { + "sample size": "12", + "result": { + "lineage_assignment_rate": "100.00", + "mean_AR_identification_rate": "100.00", + "Units": "Percentage" + } + }, + "coverage_25": { + "sample size": "12", + "result": { + "lineage_assignment_rate": "100.00", + "mean_AR_identification_rate": "100.00", + "Units": "Percentage" + } + }, + "coverage_30": { + "sample size": "12", + "result": { + "lineage_assignment_rate": "100.00", + "mean_AR_identification_rate": "100.00", + "Units": "Percentage" + } + } + } + }, + { + "sequence_quality_medium": { + "coverage_10": { + "sample size": "12", + "result": { + "lineage_assignment_rate": "58.34", + "mean_AR_identification_rate": "26.50", + "Units": "Percentage" + } + }, + "coverage_15": { + "sample size": "12", + "result": { + "lineage_assignment_rate": "91.66", + "mean_AR_identification_rate": "78.57", + "Units": "Percentage" + } + }, + "coverage_20": { + "sample size": "12", + "result": { + "lineage_assignment_rate": "100.00", + "mean_AR_identification_rate": "99.40", + "Units": "Percentage" + } + }, + "coverage_25": { + "sample size": "12", + "result": { + "lineage_assignment_rate": "100.00", + "mean_AR_identification_rate": "100.00", + "Units": "Percentage" + } + }, + "coverage_30": { + "sample size": "12", + "result": { + "lineage_assignment_rate": "100.00", + "mean_AR_identification_rate": "100.00", + "Units": "Percentage" + } + } + } + }, + { + "sequence_quality_low": { + "coverage_10": { + "sample size": "12", + "result": { + "lineage_assignment_rate": "0.00", + "mean_AR_identification_rate": "0.00", + "Units": "Percentage" + } + }, + "coverage_15": { + "sample size": "12", + "result": { + "lineage_assignment_rate": "0.00", + "mean_AR_identification_rate": "0.00", + "Units": "Percentage" + } + }, + "coverage_20": { + "sample size": "12", + "result": { + "lineage_assignment_rate": "0.00", + "mean_AR_identification_rate": "0.00", + "Units": "Percentage" + } + }, + "coverage_25": { + "sample size": "12", + "result": { + "lineage_assignment_rate": "0.00", + "mean_AR_identification_rate": "0.00", + "Units": "Percentage" + } + }, + "coverage_30": { + "sample size": "12", + "result": { + "lineage_assignment_rate": "0.00", + "mean_AR_identification_rate": "0.00", + "Units": "Percentage" + } + } + } + } + ] + }, + "algorithmic_error": { + "placeholder": "for algorithmic error domain" + } + }, + "extension_domain": [ + { + "extension_schema": "https://raw.githubusercontent.com/biocompute-objects/extension_domain/1.1.0/scm/scm_extension.json", + "scm_extension": { + "scm_repository": "https://github.com/CPTR-ReSeqTB/UVP", + "scm_type": "git", + "scm_commit": "9e8f588b3cd3f5eebde29f7d2879e1a1e1c1aed3", + "scm_path": "UVP/scripts/UVP.py" + } + } + ] + }, + "object_class": "", + "object_id": "http://127.0.0.1:8000/OTHER_000001/DRAFT", + "owner_group": "other_drafter", + "owner_user": "bco_api_user", + "prefix": "OTHER", + "schema": "IEEE", + "state": "DRAFT", + "last_update": "2022-06-28T23:41:49.698Z" + } + }, + { + "model": "api.bco", + "pk": 7, + "fields": { + "contents": { + "object_id": "http://127.0.0.1:8000/BCO_000000/1.0", + "spec_version": "https://w3id.org/ieee/ieee-2791-schema/2791object.json", + "etag": "0275321b6011324035289a5624c635ce5490fbdec588aa5f3bcaf63b85369b4a", + "provenance_domain": { + "name": "Influenza A reference gene sequences", + "version": "1.3", + "created": "2021-12-01T15:20:13.614Z", + "modified": "2022-06-28T23:06:43.263Z", + "review": [], + "contributors": [ + { + "contribution": [ + "createdBy", + "authoredBy", + "curatedBy", + "importedBy", + "contributedBy" + ], + "name": "Stephanie Singleton", + "affiliation": "The George Washington University ", + "email": "ssingleton@gwu.edu" + }, + { + "contribution": [ + "createdBy" + ], + "name": "Jonathon Keeney", + "affiliation": "The George Washington University ", + "email": "keeneyjg@gwu.edu" + } + ], + "license": "MIT" + }, + "usability_domain": [ + "Influenza A (A/Puerto Rico/8/1934 H1N1) reference protein coding sequences.", + "Cross reference to genes was retrieved using mappings present in proteins that were retrieved using UniProt proteome ID (UniProt ID: UP000009255; strain A/Puerto Rico/8/1934 H1N1). This set was chosen based on UniProt curation emphasis and community use. The primary use case for this data set is to visualize how protein annotations related to drug resistance mutations, selection pressure and more map to gene sequences. " + ], + "description_domain": { + "keywords": [ + "Influenza A, Complete Genome, FASTA, Genes" + ], + "platform": [], + "pipeline_steps": [ + { + "step_number": 0, + "name": "Download files from UniProt", + "description": "Download all files associated with the Influenza A reference genome (influenza A, UP000009255) into the ARGOS Dev server Downloads folder. While logged into the server, execute the following commands: wget ftp://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/reference_proteomes/Viruses/UP000009255/*. One of the files acquired through this step and necessary for generating a new data set is 'UP000009255_211044_DNA.fasta.gz'. Then execute 'gunzip *.gz' to unzip all the files in the downloads folder. The file name is then changed to 'UP000009255_211044_DNA.fasta' in the downloads folder.", + "prerequisite": [ + { + "name": "UniProt reference page ", + "uri": { + "uri": "ftp://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/reference_proteomes/Viruses/UP000009255/", + "access_time": "2021-12-01T15:20:13.614Z" + } + } + ], + "input_list": [ + { + "uri": "ftp://argosdb-vm-dev/data/shared/argosdb/downloads/uniprot/v1.0/influenza_a/UP000009255_211044_DNA.fasta.gz", + "filename": "UP000009255_211044_DNA.fasta.gz", + "access_time": "2021-12-01T15:20:13.614Z" + } + ], + "output_list": [ + { + "uri": "ftp://argosdb-vm-dev/data/shared/argosdb/downloads/uniprot/v1.0/influenza_a/UP000009255_211044_DNA.fasta", + "filename": "UP000009255_211044_DNA.fasta", + "access_time": "2021-12-01T15:20:13.614Z" + } + ], + "version": "1.1" + }, + { + "step_number": 0, + "name": "Run the recipe created to process this fasta file, review the newly generated dataset, and change the name of the file for clarity", + "description": "This step will use a recipe and a python script to generate a new dataset. The recipe tells the python script how and what to construct. This dataset will then be then moved in the 'unreviewed' folder in the dev argosdb server, it will be manually reviewed, and then the name of the file will be changed for clarity and tracking purposes - this is prefered. \\nMake sure you are located in the correct folder to run the script (/software/argosdb/dataset-maker). Use the following command to run the recipe and the python script: ‘python3 make-dataset.py -i recipes/influenza_UP000009255_genome_sequences.json’. Next, go to the ‘unreviewed’ folder to review the newly generated dataset ‘UP000009255_211044_DNA.fasta’. Once reviewed and approved, move the file to the ‘reviewed’ folder. Lastly, once in the ‘reviewed’ folder, change the name of the file to: ‘ influenza_UP000009255_211044_DNA.fasta’", + "prerequisite": [ + { + "name": "Dataset-maker python script", + "uri": { + "uri": "ftp://argosdb-vm-dev/software/argosdb/make-dataset.py", + "filename": "make-dataset.py" + } + }, + { + "name": "Influenza genome FASTA recipe", + "uri": { + "uri": "ftp://argosdb-vm-dev/data/shared/argosdb/generated/datasets/recipes/Influenza/influenza_UP000009255_genome_sequences.json", + "filename": "influenza_UP000009255_genome_sequences.json" + } + } + ], + "input_list": [ + { + "uri": "ftp://argosdb-vm-dev/data/shared/argosdb/downloads/uniprot/v1.0/influenza_a/UP000009255_211044_DNA.fasta", + "filename": "UP000009255_211044_DNA.fasta", + "access_time": "2021-12-01T15:20:13.614Z" + } + ], + "output_list": [ + { + "uri": "ftp://argosdb-vm-dev/data/shared/argosdb/generated/datasets/reviewed/influenza_UP000009255_211044_DNA.fasta", + "filename": "influenza_UP000009255_211044_DNA.fasta", + "access_time": "2021-12-01T15:20:13.614Z" + } + ], + "version": "1.1" + } + ] + }, + "execution_domain": { + "script": [ + { + "uri": { + "uri": "ftp://argosdb-vm-dev/software/argosdb/make-dataset.py", + "filename": "make-dataset.py" + } + } + ], + "script_driver": "python3", + "software_prerequisites": [ + { + "name": "Python", + "version": "3", + "uri": { + "uri": "https://www.python.org/ftp/python/3.10.0/python-3.10.0-amd64.exe", + "filename": "" + } + } + ], + "external_data_endpoints": [ + { + "name": "python-3.10.0", + "url": "https://www.python.org/ftp/python/3.10.0/python-3.10.0-amd64.exe" + } + ], + "environment_variables": {} + }, + "io_domain": { + "input_subdomain": [ + { + "uri": { + "uri": "http://data.argosdb.org/ln2downloads/uniprot/v1.0/UP000009255_211044_DNA.fasta", + "filename": "UP000009255_211044_DNA.fasta" + } + } + ], + "output_subdomain": [ + { + "mediatype": "text/plain", + "uri": { + "uri": "http://data.argosdb.org/ln2data/uniprot/v1.0/UP000009255_211044_DNA.fasta", + "filename": "UP000009255_211044_DNA.fasta" + } + } + ] + }, + "parametric_domain": [], + "extension_domain": [ + { + "extension_schema": "http://www.w3id.org/biocompute/extension_domain/1.1.0/dataset/dataset_extension.json", + "dataset_extension": { + "additional_license": { + "data_license": "https://creativecommons.org/licenses/by/4.0/", + "script_license": "https://www.gnu.org/licenses/gpl-3.0.en.html" + }, + "dataset_categories": [ + { + "category_value": "Influenza A", + "category_name": "species" + }, + { + "category_value": "nucleotide", + "category_name": "molecule" + }, + { + "category_value": "Influenza A", + "category_name": "tag" + }, + { + "category_value": "fasta", + "category_name": "file_type" + }, + { + "category_value": "reviewed", + "category_name": "status" + }, + { + "category_value": "internal", + "category_name": "scope" + } + ] + } + } + ] + }, + "object_class": null, + "object_id": "http://127.0.0.1:8000/BCO_000000/1.0", + "owner_group": "bco_api_user", + "owner_user": "bco_api_user", + "prefix": "BCO", + "schema": "IEEE", + "state": "PUBLISHED", + "last_update": "2022-06-28T23:10:18.007Z" + } + }, + { + "model": "api.bco", + "pk": 8, + "fields": { + "contents": { + "object_id": "http://127.0.0.1:8000/BCO_000001/1.0", + "spec_version": "https://w3id.org/ieee/ieee-2791-schema/2791object.json", + "etag": "11ee4c3b8a04ad16dcca19a6f478c0870d3fe668ed6454096ab7165deb1ab8ea", + "provenance_domain": { + "name": "HCV1a ledipasvir resistance SNP detection", + "version": "1.0", + "created": "2017-01-24T09:40:17-0500", + "modified": "2022-06-28T23:12:50.369Z", + "review": [ + { + "status": "approved", + "reviewer_comment": "Approved by GW staff. Waiting for approval from FDA Reviewer", + "date": "2017-11-12T12:30:48-0400", + "reviewer": { + "name": "Charles Hadley King", + "affiliation": "George Washington University", + "email": "hadley_king@gwu.edu", + "contribution": [ + "curatedBy" + ], + "orcid": "https://orcid.org/0000-0003-1409-4549" + } + }, + { + "status": "approved", + "reviewer_comment": "The revised BCO looks fine", + "date": "2017-12-12T12:30:48-0400", + "reviewer": { + "name": "Eric Donaldson", + "affiliation": "FDA", + "email": "Eric.Donaldson@fda.hhs.gov", + "contribution": [ + "curatedBy" + ] + } + } + ], + "contributors": [ + { + "name": "Charles Hadley King", + "affiliation": "George Washington University", + "email": "hadley_king@gwu.edu", + "contribution": [ + "createdBy", + "curatedBy" + ], + "orcid": "https://orcid.org/0000-0003-1409-4549" + }, + { + "name": "Eric Donaldson", + "affiliation": "FDA", + "email": "Eric.Donaldson@fda.hhs.gov", + "contribution": [ + "authoredBy" + ] + } + ], + "license": "https://spdx.org/licenses/CC-BY-4.0.html" + }, + "usability_domain": [ + "Identify baseline single nucleotide polymorphisms (SNPs)[SO:0000694], (insertions)[SO:0000667], and (deletions)[SO:0000045] that correlate with reduced (ledipasvir)[pubchem.compound:67505836] antiviral drug efficacy in (Hepatitis C virus subtype 1)[taxonomy:31646]", + "Identify treatment emergent amino acid (substitutions)[SO:1000002] that correlate with antiviral drug treatment failure", + "Determine whether the treatment emergent amino acid (substitutions)[SO:1000002] identified correlate with treatment failure involving other drugs against the same virus", + "GitHub CWL example: https://github.com/mr-c/hive-cwl-examples/blob/master/workflow/hive-viral-mutation-detection.cwl#L20" + ], + "description_domain": { + "keywords": [ + "HCV1a", + "Ledipasvir", + "antiviral resistance", + "SNP", + "amino acid substitutions" + ], + "platform": [ + "HIVE" + ], + "pipeline_steps": [ + { + "step_number": 1, + "name": "HIVE-hexagon", + "description": "Alignment of reads to a set of references", + "version": "1.3", + "prerequisite": [ + { + "name": "Hepatitis C virus genotype 1", + "uri": { + "uri": "http://www.ncbi.nlm.nih.gov/nuccore/22129792", + "access_time": "2017-01-24T09:40:17-0500" + } + }, + { + "name": "Hepatitis C virus type 1b complete genome", + "uri": { + "uri": "http://www.ncbi.nlm.nih.gov/nuccore/5420376", + "access_time": "2017-01-24T09:40:17-0500" + } + }, + { + "name": "Hepatitis C virus (isolate JFH-1) genomic RNA", + "uri": { + "uri": "http://www.ncbi.nlm.nih.gov/nuccore/13122261", + "access_time": "2017-01-24T09:40:17-0500" + } + }, + { + "name": "Hepatitis C virus clone J8CF, complete genome", + "uri": { + "uri": "http://www.ncbi.nlm.nih.gov/nuccore/386646758", + "access_time": "2017-01-24T09:40:17-0500" + } + }, + { + "name": "Hepatitis C virus S52 polyprotein gene", + "uri": { + "uri": "http://www.ncbi.nlm.nih.gov/nuccore/295311559", + "access_time": "2017-01-24T09:40:17-0500" + } + } + ], + "input_list": [ + { + "uri": "http://example.com/dna.cgi?cmd=objFile&ids=514683", + "access_time": "2017-01-24T09:40:17-0500" + }, + { + "uri": "http://example.com/dna.cgi?cmd=objFile&ids=514682", + "access_time": "2017-01-24T09:40:17-0500" + } + ], + "output_list": [ + { + "uri": "http://example.com/data/514769/allCount-aligned.csv", + "access_time": "2017-01-24T09:40:17-0500" + } + ] + }, + { + "step_number": 2, + "name": "HIVE-heptagon", + "description": "variant calling", + "version": "1.3", + "input_list": [ + { + "uri": "http://example.com/data/514769/dnaAccessionBased.csv", + "access_time": "2017-01-24T09:40:17-0500" + } + ], + "output_list": [ + { + "uri": "http://example.com/data/514801/SNPProfile.csv", + "access_time": "2017-01-24T09:40:17-0500" + }, + { + "uri": "http://example.com/data/14769/allCount-aligned.csv", + "access_time": "2017-01-24T09:40:17-0500" + } + ] + } + ] + }, + "execution_domain": { + "script": [ + { + "uri": { + "uri": "https://example.com/workflows/antiviral_resistance_detection_hive.py" + } + } + ], + "script_driver": "shell", + "software_prerequisites": [ + { + "name": "HIVE-hexagon", + "version": "babajanian.1", + "uri": { + "uri": "http://example.com/dna.cgi?cmd=dna-hexagon&cmdMode=-", + "access_time": "2017-01-24T09:40:17-0500", + "sha1_checksum": "d60f506cddac09e9e816531e7905ca1ca6641e3c" + } + }, + { + "name": "HIVE-heptagon", + "version": "albinoni.2", + "uri": { + "uri": "http://example.com/dna.cgi?cmd=dna-heptagon&cmdMode=-", + "access_time": "2017-01-24T09:40:17-0500" + } + } + ], + "external_data_endpoints": [ + { + "name": "HIVE", + "url": "http://example.com/dna.cgi?cmd=login" + }, + { + "name": "access to e-utils", + "url": "http://eutils.ncbi.nlm.nih.gov/entrez/eutils/" + } + ], + "environment_variables": { + "HOSTTYPE": "x86_64-linux", + "EDITOR": "vim" + } + }, + "io_domain": { + "input_subdomain": [ + { + "uri": { + "filename": "Hepatitis C virus genotype 1", + "uri": "http://www.ncbi.nlm.nih.gov/nuccore/22129792", + "access_time": "2017-01-24T09:40:17-0500" + } + }, + { + "uri": { + "filename": "Hepatitis C virus type 1b complete genome", + "uri": "http://www.ncbi.nlm.nih.gov/nuccore/5420376", + "access_time": "2017-01-24T09:40:17-0500" + } + }, + { + "uri": { + "filename": "Hepatitis C virus (isolate JFH-1) genomic RNA", + "uri": "http://www.ncbi.nlm.nih.gov/nuccore/13122261", + "access_time": "2017-01-24T09:40:17-0500" + } + }, + { + "uri": { + "uri": "http://www.ncbi.nlm.nih.gov/nuccore/386646758", + "access_time": "2017-01-24T09:40:17-0500" + } + }, + { + "uri": { + "filename": "Hepatitis C virus S52 polyprotein gene", + "uri": "http://www.ncbi.nlm.nih.gov/nuccore/295311559", + "access_time": "2017-01-24T09:40:17-0500" + } + }, + { + "uri": { + "filename": "HCV1a_drug_resistant_sample0001-01", + "uri": "http://example.com/nuc-read/514682", + "access_time": "2017-01-24T09:40:17-0500" + } + }, + { + "uri": { + "filename": "HCV1a_drug_resistant_sample0001-02", + "uri": "http://example.com/nuc-read/514683", + "access_time": "2017-01-24T09:40:17-0500" + } + } + ], + "output_subdomain": [ + { + "mediatype": "text/csv", + "uri": { + "uri": "http://example.com/data/514769/dnaAccessionBased.csv", + "access_time": "2017-01-24T09:40:17-0500" + } + }, + { + "mediatype": "text/csv", + "uri": { + "uri": "http://example.com/data/514801/SNPProfile*.csv", + "access_time": "2017-01-24T09:40:17-0500" + } + } + ] + }, + "parametric_domain": [ + { + "param": "seed", + "value": "14", + "step": "1" + }, + { + "param": "minimum_match_len", + "value": "66", + "step": "1" + }, + { + "param": "divergence_threshold_percent", + "value": "0.30", + "step": "1" + }, + { + "param": "minimum_coverage", + "value": "15", + "step": "2" + }, + { + "param": "freq_cutoff", + "value": "0.10", + "step": "2" + } + ], + "error_domain": { + "empirical_error": { + "false_negative_alignment_hits": "<0.0010", + "false_discovery": "<0.05" + }, + "algorithmic_error": { + "false_positive_mutation_calls_discovery": "<0.00005", + "false_discovery": "0.005" + } + }, + "extension_domain": [ + { + "extension_schema": "https://raw.githubusercontent.com/biocompute-objects/extension_domain/1.1.0/fhir/fhir_extension.json", + "fhir_extension": [ + { + "fhir_endpoint": "http://fhirtest.uhn.ca/baseDstu3", + "fhir_version": "3", + "fhir_resources": [ + { + "fhir_resource": "Sequence", + "fhir_id": "21376" + }, + { + "fhir_resource": "DiagnosticReport", + "fhir_id": "6288583" + }, + { + "fhir_resource": "ProcedureRequest", + "fhir_id": "25544" + }, + { + "fhir_resource": "Observation", + "fhir_id": "92440" + }, + { + "fhir_resource": "FamilyMemberHistory", + "fhir_id": "4588936" + } + ] + } + ] + }, + { + "extension_schema": "https://raw.githubusercontent.com/biocompute-objects/extension_domain/1.1.0/scm/scm_extension.json", + "scm_extension": { + "scm_repository": "https://github.com/example/repo1", + "scm_type": "git", + "scm_commit": "c9ffea0b60fa3bcf8e138af7c99ca141a6b8fb21", + "scm_path": "workflow/hive-viral-mutation-detection.cwl", + "scm_preview": "https://github.com/example/repo1/blob/c9ffea0b60fa3bcf8e138af7c99ca141a6b8fb21/workflow/hive-viral-mutation-detection.cwl" + } + } + ] + }, + "object_class": null, + "object_id": "http://127.0.0.1:8000/BCO_000001/1.0", + "owner_group": "test50", + "owner_user": "test50", + "prefix": "BCO", + "schema": "IEEE", + "state": "PUBLISHED", + "last_update": "2022-06-28T23:13:13.859Z" + } + }, + { + "model": "api.bco", + "pk": 9, + "fields": { + "contents": { + "object_id": "http://127.0.0.1:8000/BCO_000002/1.0", + "etag": "caed07395b6afb58c8810d174a315260124f687740bc3bb14387de5e84c7e3d4", + "spec_version": "https://w3id.org/ieee/ieee-2791-schema/2791object.json", + "provenance_domain": { + "name": "Healthy human fecal metagenomic diversity", + "version": "1.0.0", + "review": [ + { + "status": "approved", + "reviewer_comment": "Approved by GW staff.", + "reviewer": { + "name": "Charles Hadley King", + "affiliation": "George Washington University", + "email": "hadley_king@gwu.edu", + "contribution": [ + "curatedBy" + ], + "orcid": "https://orcid.org/0000-0003-1409-4549" + } + } + ], + "obsolete_after": "2118-09-26T14:43:43-0400", + "embargo": { + "start_time": "2000-09-26T14:43:43-0400", + "end_time": "2000-09-26T14:43:45-0400" + }, + "created": "2018-11-29T11:29:08-0500", + "modified": "2018-11-30T11:29:08-0500", + "contributors": [ + { + "name": "Charles Hadley King", + "affiliation": "George Washington University", + "email": "hadley_king@gwu.edu", + "contribution": [ + "createdBy", + "curatedBy", + "authoredBy" + ], + "orcid": "https://orcid.org/0000-0003-1409-4549" + }, + { + "name": "Raja Mazumder", + "affiliation": "George Washington University", + "email": "mazumder@gwu.edu", + "contribution": [ + "createdBy", + "curatedBy", + "authoredBy" + ], + "orcid": "https://orcid.org/0000-0001-88238-9945" + } + ], + "license": "https://spdx.org/licenses/CC-BY-4.0.html" + }, + "usability_domain": [ + "Identify the most common organism present in a human [taxID:9606] fecal [UBERON:0001988] sample, ", + "Identify the general community composition of organisms in a human [taxID:9606] fecal [UBERON:0001988] sample, ", + "CensuScope is used to do a census of the composition of the read files. Based on a user-defined threshold, organisms identified are used for alignment in the Hexagon alignment." + ], + "extension_domain": [ + { + "extension_schema": "https://raw.githubusercontent.com/biocompute-objects/extension_domain/1.1.0/scm/scm_extension.json", + "scm_extension": { + "scm_repository": "https://github.com/biocompute-objects/HIVE_metagenomics", + "scm_type": "git", + "scm_commit": "e4620f642fb20557f6c679397696614305ed07b1", + "scm_path": "biocompute-objects/HIVE_metagenomics", + "scm_preview": "https://github.com/example/repo1/blob/c9ffea0b60fa3bcf8e138af7c99ca141a6b8fb21/workflow/hive-viral-mutation-detection.cwl" + } + } + ], + "description_domain": { + "keywords": [ + "metagenome", + "metagenomic analysis", + "fecal" + ], + "xref": [ + { + "namespace": "uberon", + "name": "Uber Anatomy Ontology", + "ids": [ + "0001988" + ], + "access_time": "2016-11-30T06:46-0500" + }, + { + "namespace": "taxonomy", + "name": "Taxonomy", + "ids": [ + "9606" + ], + "access_time": "2016-11-30T06:46-0500" + } + ], + "platform": [ + "hive" + ], + "pipeline_steps": [ + { + "step_number": 1, + "name": "CensuScope", + "description": "Detect taxonomic composition of a metagenomic data set.", + "version": "1.3", + "prerequisite": [ + { + "name": "Filtered_NT_feb18_2016", + "uri": { + "uri": "https://hive.biochemistry.gwu.edu/genome/513957", + "access_time": "2016-11-30T06:46-0500" + } + } + ], + "input_list": [ + { + "uri": "https://hive.biochemistry.gwu.edu/nuc-read/545722", + "access_time": "2016-11-30T06:46-0500" + }, + { + "uri": "https://hive.biochemistry.gwu.edu/nuc-read/545721", + "access_time": "2016-11-30T06:46-0500" + } + ], + "output_list": [ + { + "uri": "https://hive.biochemistry.gwu.edu/546223/dnaAccessionBasedResult.csv", + "access_time": "2016-11-30T06:46-0500" + } + ] + }, + { + "step_number": 2, + "name": "HIVE-hexagon", + "description": "Alignment of reads to a set of references", + "version": "1.3", + "input_list": [ + { + "uri": "http://example.com/data/546223/dnaAccessionBased.csv", + "access_time": "2016-11-30T06:46-0500" + }, + { + "uri": "https://hive.biochemistry.gwu.edu/nuc-read/545722", + "access_time": "2016-11-30T06:46-0500" + }, + { + "uri": "https://hive.biochemistry.gwu.edu/nuc-read/545721", + "access_time": "2016-11-30T06:46-0500" + } + ], + "output_list": [ + { + "uri": "https://hive.biochemistry.gwu.edu/546232/alCount-Unalignedo524569-alCount--1.csv", + "access_time": "2016-11-30T06:46-0500" + } + ] + } + ] + }, + "execution_domain": { + "script": [ + { + "uri": { + "uri": "https://github.com/biocompute-objects/HIVE_metagenomics/blob/master/driverHIVEmetagenomic.py" + } + } + ], + "script_driver": "shell", + "software_prerequisites": [ + { + "name": "CensuScope", + "version": "albinoni.2", + "uri": { + "uri": "http://example.com/dna.cgi?cmd=dna-screening&cmdMode=-", + "access_time": "2017-01-24T09:40:17-0500" + } + }, + { + "name": "HIVE-hexagon", + "version": "babajanian.1", + "uri": { + "uri": "http://example.com/dna.cgi?cmd=dna-hexagon&cmdMode=-", + "access_time": "2017-01-24T09:40:17-0500" + } + } + ], + "external_data_endpoints": [ + { + "name": "HIVE", + "url": "https://hive.biochemistry.gwu.edu/dna.cgi?cmd=login" + }, + { + "name": "access to e-utils", + "url": "http://eutils.ncbi.nlm.nih.gov/entrez/eutils/" + } + ], + "environment_variables": { + "key": "HOSTTYPE", + "value": "x86_64-linux" + } + }, + "parametric_domain": [ + { + "param": "seed", + "value": "14", + "step": "2" + }, + { + "param": "minimum_match_len", + "value": "66", + "step": "2" + }, + { + "param": "divergence_threshold_percent", + "value": "0.30", + "step": "2" + }, + { + "param": "minimum_coverage", + "value": "15", + "step": "2" + }, + { + "param": "freq_cutoff", + "value": "0.10", + "step": "2" + } + ], + "io_domain": { + "input_subdomain": [ + { + "uri": { + "filename": "Hepatitis C virus genotype 1", + "uri": "http://www.ncbi.nlm.nih.gov/nuccore/22129792", + "access_time": "2017-01-24T09:40:17-0500" + } + }, + { + "uri": { + "filename": "Hepatitis C virus type 1b complete genome", + "uri": "http://www.ncbi.nlm.nih.gov/nuccore/5420376", + "access_time": "2017-01-24T09:40:17-0500" + } + }, + { + "uri": { + "filename": "Hepatitis C virus (isolate JFH-1) genomic RNA", + "uri": "http://www.ncbi.nlm.nih.gov/nuccore/13122261", + "access_time": "2017-01-24T09:40:17-0500" + } + }, + { + "uri": { + "filename": "Hepatitis C virus clone J8CF, complete genome", + "uri": "http://www.ncbi.nlm.nih.gov/nuccore/386646758", + "access_time": "2017-01-24T09:40:17-0500" + } + }, + { + "uri": { + "filename": "Hepatitis C virus S52 polyprotein gene", + "uri": "http://www.ncbi.nlm.nih.gov/nuccore/295311559", + "access_time": "2017-01-24T09:40:17-0500" + } + }, + { + "uri": { + "filename": "HCV1a_drug_resistant_sample0001-01", + "uri": "http://example.com/nuc-read/514682", + "access_time": "2017-01-24T09:40:17-0500" + } + }, + { + "uri": { + "filename": "HCV1a_drug_resistant_sample0001-02", + "uri": "http://example.com/nuc-read/514683", + "access_time": "2017-01-24T09:40:17-0500" + } + } + ], + "output_subdomain": [ + { + "mediatype": "text/csv", + "uri": { + "uri": "http://example.com/data/514769/dnaAccessionBased.csv", + "access_time": "2017-01-24T09:40:17-0500" + } + }, + { + "mediatype": "text/csv", + "uri": { + "uri": "http://example.com/data/514801/SNPProfile*.csv", + "access_time": "2017-01-24T09:40:17-0500" + } + } + ] + }, + "error_domain": { + "empirical_error": { + "false_negative_alignment_hits": "<0.0010", + "false_discovery": "<0.05" + }, + "algorithmic_error": { + "false_positive_mutation_calls_discovery": "<0.00005", + "false_discovery": "0.005" + } + } + }, + "object_class": null, + "object_id": "http://127.0.0.1:8000/BCO_000002/1.0", + "owner_group": "hivelab37", + "owner_user": "hivelab37", + "prefix": "BCO", + "schema": "IEEE", + "state": "PUBLISHED", + "last_update": "2022-06-28T23:19:53.938Z" + } + }, + { + "model": "api.bco", + "pk": 10, + "fields": { + "contents": { + "object_id": "http://127.0.0.1:8000/BCO_000003/1.0", + "spec_version": "https://w3id.org/ieee/ieee-2791-schema/2791object.json", + "etag": "2d96bb6e18aed202332d66f4ef9f909cf419d72bd33af6833957ad372d8f7d1f", + "provenance_domain": { + "name": "SARS-CoV-2 reference proteome sequences", + "version": "1.0", + "created": "2021-12-16T21:06:50.969977Z", + "modified": "2022-06-28T23:21:13.091Z", + "review": [], + "contributors": [ + { + "contribution": [ + "createdBy", + "authoredBy", + "curatedBy", + "importedBy", + "contributedBy" + ], + "name": "Stephanie Singleton", + "affiliation": "The George Washington University ", + "email": "ssingleton@gwu.edu" + }, + { + "contribution": [ + "createdBy" + ], + "name": "Jonathon Keeney", + "affiliation": "The George Washington University ", + "email": "keeneyjg@gwu.edu" + } + ], + "license": "MIT" + }, + "usability_domain": [ + "SARS-CoV-2 (Wuhan-Hu-1) reference proteome fasta sequences.", + "Data was retrieved using UniProt proteome ID (UniProt ID: UP000464024; Severe acute respiratory syndrome coronavirus 2 isolate Wuhan-Hu-1). This set was chosen based on UniProt curation emphasis and community use. The primary use case for this data set is to use the protein accessions and amino acid coordinates to refer to annotations related to drug resistance mutations, selection pressure and more." + ], + "description_domain": { + "keywords": [ + "SARS-CoV-2, COVID-19, Complete Proteome, FASTA, Proteins" + ], + "platform": [], + "pipeline_steps": [ + { + "step_number": 1, + "name": "Download all available files from UniProt", + "description": "Download all files associated with the SARS-Cov-2 reference genome (UniProt ID: UP000464024) into the ARGOS Dev server Downloads folder. While logged into the server, execute the following commands: wget ftp://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/reference_proteomes/Viruses/UP000464024/*. One of the files acquired through this step, and necessary for generating a new data set is 'UP000464024_2697049.fasta.gz'. Then execute 'gunzip *.gz' to unzip all the files in the downloads folder. The file name is then changed to 'UP000464024_2697049.fasta' in the downloads folder.", + "prerequisite": [ + { + "name": "UniProt reference page ", + "uri": { + "uri": "https://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/reference_proteomes/Viruses/UP000464024/", + "access_time": "2021-12-16T21:06:50.969977Z" + } + } + ], + "input_list": [ + { + "uri": "ftp://argosdb-vm-dev/data/shared/argosdb/downloads/uniprot/v1.0/sars_cov_2/UP000464024_2697049.fasta.gz", + "filename": "UP000464024_2697049.fasta.gz", + "access_time": "2021-12-16T21:06:50.969977Z" + } + ], + "output_list": [ + { + "uri": "ftp://argosdb-vm-dev/data/shared/argosdb/downloads/uniprot/v1.0/sars_cov_2/UP000464024_2697049.fasta", + "filename": "UP000464024_2697049.fasta", + "access_time": "2021-12-16T21:06:50.969977Z" + } + ], + "version": "1.0" + }, + { + "step_number": 2, + "name": "Run the recipe created to process this fasta file, review the newly generated dataset, and change the name of the file for clarity", + "description": "This step will use a recipe and a python script to generate a new dataset. The recipe tells the python script how and what to construct. This dataset will then be then moved in the 'unreviewed' folder in the dev argosdb server, it will be manually reviewed, and then the name of the file will be changed for clarity and tracking purposes - this is prefered. Make sure you are located in the correct folder to run the script (/software/argosdb/dataset-maker). Use the following command to run the recipe and the python script: ‘python3 make-dataset.py -i recipes/sars-cov-2_UP000464024_proteome_sequences.json’. Next, go to the ‘unreviewed’ folder to review the newly generated dataset ‘UP000464024_2697049.fasta’. Once reviewed and approved, move the file to the ‘reviewed’ folder. Lastly, once in the ‘reviewed’ folder, change the name of the file to: ‘sars-cov-2_UP000464024_2697049.fasta’", + "prerequisite": [ + { + "name": "Dataset-maker python script", + "uri": { + "uri": "ftp://argosdb-vm-dev/software/argosdb/make-dataset.py", + "filename": "make-dataset.py" + } + }, + { + "name": "SARS-CoV-2 genome FASTA recipe", + "uri": { + "uri": "ftp://argosdb-vm-dev/data/shared/argosdb//generated/datasets/recipes/sars-cov-2_UP000464024_proteome_sequences.json", + "filename": "sars-cov-2_UP000464024_proteome_sequences.json" + } + } + ], + "input_list": [ + { + "uri": "ftp://argosdb-vm-dev/data/shared/argosdb/downloads/uniprot/v1.0/sars_cov_2/UP000464024_2697049.fasta", + "filename": "UP000464024_2697049.fasta", + "access_time": "2021-12-16T21:06:50.969977Z" + } + ], + "output_list": [ + { + "uri": "ftp://argosdb-vm-dev/data/shared/argosdb/generated/datasets/reviewed/sars-cov-2_UP000464024_2697049.fasta", + "filename": "sars-cov-2_UP000464024_2697049.fasta", + "access_time": "2021-12-16T21:06:50.969977Z" + } + ], + "version": "1.0" + } + ] + }, + "execution_domain": { + "script": [ + { + "uri": { + "uri": "ftp://argosdb-vm-dev/software/argosdb/make-dataset.py", + "filename": "make-dataset.py" + } + } + ], + "script_driver": "python3", + "software_prerequisites": [ + { + "name": "Python", + "version": "3.10.0", + "uri": { + "uri": "https://www.python.org/ftp/python/3.10.0/python-3.10.0-amd64.exe", + "filename": "" + } + } + ], + "external_data_endpoints": [ + { + "name": "python-3.10.0", + "url": "https://www.python.org/ftp/python/3.10.0/python-3.10.0-amd64.exe" + } + ], + "environment_variables": {} + }, + "io_domain": { + "input_subdomain": [ + { + "uri": { + "uri": "http://data.argosdb.org/ln2downloads/uniprot/v1.0/UP000464024_2697049.fasta", + "filename": "UP000464024_2697049.fasta.gz" + } + } + ], + "output_subdomain": [ + { + "mediatype": "text/plain", + "uri": { + "uri": "http://data.argosdb.org/ln2data/uniprot/v1.0/UP000464024_2697049.fasta", + "filename": "UP000464024_2697049.fasta" + } + } + ] + }, + "parametric_domain": [], + "extension_domain": [ + { + "extension_schema": "http://www.w3id.org/biocompute/extension_domain/1.2.0/dataset/dataset_extension.json", + "dataset_extension": { + "additional_license": { + "data_license": "https://creativecommons.org/licenses/by/4.0/", + "script_license": "https://www.gnu.org/licenses/gpl-3.0.en.html" + }, + "dataset_categories": [ + { + "category_value": "SARS-CoV-2", + "category_name": "species" + }, + { + "category_value": "protein", + "category_name": "molecule" + }, + { + "category_value": "SARS-CoV-2", + "category_name": "tag" + }, + { + "category_value": "fasta", + "category_name": "file_type" + }, + { + "category_value": "non-core", + "category_name": "priority" + }, + { + "category_value": "reviewed", + "category_name": "status" + }, + { + "category_value": "internal", + "category_name": "scope" + } + ] + } + } + ] + }, + "object_class": null, + "object_id": "http://127.0.0.1:8000/BCO_000003/1.0", + "owner_group": "jdoe58", + "owner_user": "jdoe58", + "prefix": "BCO", + "schema": "IEEE", + "state": "PUBLISHED", + "last_update": "2022-06-28T23:21:56.879Z" + } + }, + { + "model": "api.bco", + "pk": 11, + "fields": { + "contents": { + "object_id": "http://127.0.0.1:8000/OTHER_000001/1.0", + "spec_version": "https://w3id.org/ieee/ieee-2791-schema/2791object.json", + "etag": "39fb1c62f43ff72ac95f91a433d5e425fb08bc07ec0f719ecfd27fb3cd3a3635", + "provenance_domain": { + "name": "Lineage assignment for an isolate of M. tuberculosis based on its single nucleotide polymorphism (SNP) profile based on UVC v1.0.", + "version": "1.0", + "created": "2017-11-12T12:30:48-0400", + "modified": "2022-06-28T23:41:33.439Z", + "review": [ + { + "status": "approved", + "reviewer_comment": "Approved by GW staff.", + "date": "2017-11-12T12:30:48-0400", + "reviewer": { + "name": "Anjan Purkayastha", + "affiliation": "George Washington University", + "email": "anjan.purkayastha@gmail.com", + "contribution": [ + "curatedBy" + ] + } + }, + { + "status": "approved", + "reviewer_comment": "Approved by Critical Path Institute staff.", + "date": "2017-11-12T12:30:48-0400", + "reviewer": { + "name": "Marco Schito", + "affiliation": "Critical Path Institute", + "email": "mschito@c-path.org", + "contribution": [ + "curatedBy" + ] + } + }, + { + "status": "approved", + "date": "2017-11-12T12:30:48-0400", + "reviewer_comment": "Approved by Critical Path Institute staff.", + "reviewer": { + "name": "Kenneth Ramey", + "affiliation": "Critical Path Institute", + "email": "kramey@c-path.org", + "contribution": [ + "curatedBy" + ] + } + } + ], + "contributors": [ + { + "name": "Matthew Ezewudo", + "affiliation": "Critical Path Institute", + "email": "mezewudo@c-path.org", + "contribution": [ + "authoredBy" + ] + }, + { + "name": "Jamie Posie", + "affiliation": "CDC Atlanta, GA", + "contribution": [ + "authoredBy" + ] + }, + { + "name": "Anjan Purkayastha", + "affiliation": "George Washington University", + "email": "anjan.purkayastha@gmail.com", + "contribution": [ + "authoredBy", + "curatedBy" + ] + }, + { + "name": "Marco Schito", + "affiliation": "Critical Path Institute", + "email": "mschito@c-path.org", + "contribution": [ + "authoredBy" + ] + }, + { + "name": "Charles Hadley King", + "affiliation": "George Washington University", + "email": "hadley_king@gwu.edu", + "contribution": [ + "authoredBy", + "curatedBy" + ], + "orcid": "https://orcid.org/0000-0003-1409-4549" + }, + { + "name": "ReseqTB Consortium", + "affiliation": "Critical Path Institute", + "email": "info@c-path.org", + "contribution": [ + "createdAt" + ] + } + ], + "license": "https://spdx.org/licenses/CC-BY-4.0.html" + }, + "usability_domain": [ + "Lineage assignment for an isolate of M. tuberculosis[taxonomy:1773] based on its single nucleotide polymorphism [so:0000694] (SNP) profile." + ], + "description_domain": { + "keywords": [ + "Mycobacterium tuberculosis", + "Phylogenetics", + "Bacterial lineage analysis", + "Single Nucleotide Polymorphism", + "SNP" + ], + "platform": [ + "Linux" + ], + "pipeline_steps": [ + { + "step_number": 1, + "name": "FastQValidator", + "description": "To verify if input file is in fastq format", + "version": "1.0.5", + "input_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_input_fastq_files/ERR552106_1.fastq.gz" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_input_fastq_files/ERR552106_2.fastq.gz" + } + ], + "output_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/validation/Validation_report.txt" + } + ] + }, + { + "step_number": 2, + "name": "FastQC", + "description": "assess Quality of raw sequence reads", + "version": "0.11.5", + "input_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_input_fastq_files/ERR552106_1.fastq.gz" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_input_fastq_files/ERR552106_2.fastq.gz" + } + ], + "output_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/fastqc/ERR552106_1_fastqc.html" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/fastqc/ERR552106_1_fastqc.zip" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/fastqc/ERR552106_2_fastqc.html" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/fastqc/ERR552106_2_fastqc.zip" + } + ] + }, + { + "step_number": 3, + "name": "Kraken", + "description": "Assesses species specificity of sequence reads", + "version": "0.10.5", + "input_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_input_fastq_files/ERR552106_1.fastq.gz" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_input_fastq_files/ERR552106_2.fastq.gz" + } + ], + "output_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/kraken/final_report.txt" + } + ] + }, + { + "step_number": 4, + "name": "BWA", + "description": "Aligns sequence reads to reference genome", + "version": "0.7.12", + "prerequisite": [ + { + "name": "M. tuberculosis H37Rv genome reference file", + "uri": { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/NC_000962.fa" + } + } + ], + "input_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_input_fastq_files/ERR552106_1.fastq.gz" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_input_fastq_files/ERR552106_2.fastq.gz" + } + ], + "output_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.bam" + } + ] + }, + { + "step_number": 5, + "name": "Qualimap", + "description": "Assess mapping quality of aligned reads", + "version": "2.1.1", + "input_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.bam" + } + ], + "output_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/agogo.css" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/ajax-loader.gif" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/basic.css" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/bgfooter.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/bgtop.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/comment-bright.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/comment-close.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/comment.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/doctools.js" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/down-pressed.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/down.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/file.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/jquery.js" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/minus.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/plus.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/pygments.css" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/qualimap_logo_small.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/report.css" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/searchtools.js" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/underscore.js" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/up-pressed.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/up.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/websupport.js" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_coverage_0to50_histogram.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_coverage_across_reference.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_coverage_histogram.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_coverage_quotes.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_gc_content_per_window.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_homopolymer_indels.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_insert_size_across_reference.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_insert_size_histogram.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_mapping_quality_across_reference.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_mapping_quality_histogram.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_reads_clipping_profile.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_reads_content_per_read_position.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_uniq_read_starts_histogram.png" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/coverage_across_reference.txt" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/coverage_histogram.txt" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/duplication_rate_histogram.txt" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/genome_fraction_coverage.txt" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/homopolymer_indels.txt" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/insert_size_across_reference.txt" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/insert_size_histogram.txt" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/mapped_reads_clipping_profile.txt" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/mapped_reads_gc-content_distribution.txt" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/mapped_reads_nucleotide_content.txt" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/mapping_quality_across_reference.txt" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/mapping_quality_histogram.txt" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/genome_results.txt" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/qualimapReport.html" + } + ] + }, + { + "step_number": 6, + "name": "MarkDuplicates", + "description": "Removes duplicate reads from alignment", + "version": "1.134", + "input_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.bam" + } + ], + "output_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.no_dups.bam" + } + ] + }, + { + "step_number": 7, + "name": "IndelRealigner", + "description": "Perfoms re-alignment around insertions and deletions", + "version": "3.4.0", + "prerequisite": [ + { + "name": "M. tuberculosis H37Rv genome reference file", + "uri": { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/NC_000962.fa" + } + } + ], + "input_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.no_dups.bam" + } + ], + "output_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.realigned.bam" + } + ] + }, + { + "step_number": 8, + "name": "BaseRecalibrator", + "description": "Recalibrates base quality scores", + "version": "3.4.0", + "prerequisite": [ + { + "name": "M. tuberculosis H37Rv genome reference file", + "uri": { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/NC_000962.fa" + } + }, + { + "name": "Variation sites file", + "uri": { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/snps.vcf" + } + } + ], + "input_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.realigned.bam" + } + ], + "output_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.recalibrated.bam" + } + ] + }, + { + "step_number": 9, + "name": "BuildBamIndex", + "description": "Indexes sorted BAM files for variant calling", + "version": "1.134", + "input_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.recalibrated.bam" + } + ], + "output_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.recalibrated.bai" + } + ] + }, + { + "step_number": 10, + "name": "UnifiedGenotyper", + "description": "Calls variant positions in alignment", + "version": "3.4.0", + "prerequisite": [ + { + "name": "M. tuberculosis H37Rv genome reference file", + "uri": { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/NC_000962.fa" + } + } + ], + "input_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.recalibrated.bam" + } + ], + "output_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_GATK.vcf" + }, + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_GATK.mpileup" + } + ] + }, + { + "step_number": 11, + "name": "VCFtools", + "description": "Filters raw VCF to exclude poor quality variants", + "version": "0.1.12b", + "prerequisite": [ + { + "name": "Excluded list file", + "uri": { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/excluded_loci.txt" + } + } + ], + "input_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_GATK.vcf" + } + ], + "output_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_GATK_filtered.vcf" + } + ] + }, + { + "step_number": 12, + "name": "SnpEff", + "description": "Annotates variants in VCF file", + "version": "4.1", + "prerequisite": [ + { + "name": "M. tuberculosis H37Rv GenBank File", + "uri": { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/NC_000962.gbk" + } + } + ], + "input_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_GATK_filtered.vcf" + } + ], + "output_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_GATK_annotated.vcf" + } + ] + }, + { + "step_number": 13, + "name": "parse_annotation.py", + "description": "Parses annotated VCF to create annotation text file", + "version": "", + "input_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_GATK_annotated.vcf" + } + ], + "output_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_Final_annotation.txt" + } + ] + }, + { + "step_number": 14, + "name": "lineage_parser.py", + "description": "Assigns Mycobacterium tuberculosis Complex lineage to isolate", + "version": "", + "prerequisite": [ + { + "name": "Lineage Markers File", + "uri": { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/lineage_markers.txt" + } + } + ], + "input_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_Final_annotation.txt" + } + ], + "output_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106.lineage_report.txt" + } + ] + }, + { + "step_number": 15, + "name": "BEDtools", + "description": "Creates loci based coverage statistics of genome coverage", + "version": "2.17.0", + "input_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.recalibrated.bam" + } + ], + "output_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_genome_region_coverage.txt" + } + ] + }, + { + "step_number": 16, + "name": "resis_parser.py", + "description": "Creates a coverage depth and width table of all loci in isolate genome", + "version": "", + "input_list": [ + { + "uri": "[path_to_genome_loci_text_file]" + }, + { + "uri": "[path_to_per_position_depth_text_file]" + } + ], + "output_list": [ + { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_Coverage.txt" + } + ] + } + ] + }, + "execution_domain": { + "script": [ + { + "uri": { + "uri": "https://github.com/CPTR-ReSeqTB/UVP/commit/9e8f588b3cd3f5eebde29f7d2879e1a1e1c1aed3" + } + } + ], + "script_driver": "Python", + "software_prerequisites": [ + { + "name": "BEDtools", + "version": "2.17.0", + "uri": { + "uri": "https://github.com/arq5x/bedtools/releases/tag/v2.17.0", + "access_time": "2018-10-08T18:35:33-0400", + "sha1_checksum": "5e4507c54355a4a38c6d3e7497a2836a123c6655" + } + }, + { + "name": "Bcftools", + "version": "1.2", + "uri": { + "uri": "https://github.com/samtools/bcftools/releases/download/1.2/bcftools-1.2.tar.bz2", + "access_time": "2018-10-08T18:35:33-0400", + "sha1_checksum": "352908143497da0640b928248165e83212dc4298" + } + }, + { + "name": "BWA", + "version": "0.7.12", + "uri": { + "uri": "https://sourceforge.net/projects/bio-bwa/files/bwa-0.7.12.tar.bz2/download", + "access_time": "2018-10-08T18:35:33-0400", + "sha1_checksum": "6389ca75328bae6d946bfdd58ff4beb0feebaedd" + } + }, + { + "name": "FastQC", + "version": "0.11.5", + "uri": { + "uri": "https://www.bioinformatics.babraham.ac.uk/projects/fastq_screen/fastq_screen_v0.13.0.tar.gz", + "access_time": "2018-10-08T18:35:33-0400" + } + }, + { + "name": "GATK", + "version": "3.4.0", + "uri": { + "uri": "https://github.com/broadgsa/gatk-protected/releases/tag/3.4", + "access_time": "2018-10-08T18:35:33-0400", + "sha1_checksum": "f19618653a0d23baaf147efe7f14aeb4eeb0cbb8" + } + }, + { + "name": "Kraken", + "version": "0.10.5", + "uri": { + "uri": "https://ccb.jhu.edu/software/kraken/dl/kraken-0.10.5-beta.tgz", + "access_time": "2018-10-08T18:35:33-0400" + } + }, + { + "name": "Picard", + "version": "1.134", + "uri": { + "uri": "https://github.com/broadinstitute/picard/releases/tag/1.134", + "access_time": "2018-10-08T18:35:33-0400", + "sha1_checksum": "a7a08c474e4d99346eec7a9956a8fe71943b5d80" + } + }, + { + "name": "Pigz", + "version": "2.3.3", + "uri": { + "uri": "http://springdale.math.ias.edu/data/puias/unsupported/7/SRPMS/pigz-2.3.3-1.sdl7.src.rpm", + "access_time": "2018-10-08T18:35:33-0400" + } + }, + { + "name": "Qualimap", + "version": "2.11", + "uri": { + "uri": "https://bitbucket.org/kokonech/qualimap/downloads/qualimap_v2.1.1.zip", + "access_time": "2018-10-08T18:35:33-0400" + } + }, + { + "name": "Samtools", + "version": "1.2", + "uri": { + "uri": "https://github.com/samtools/samtools/archive/1.2.zip", + "access_time": "2018-10-08T18:35:33-0400" + } + }, + { + "name": "SnpEff", + "version": "4.1", + "uri": { + "uri": "https://sourceforge.net/projects/snpeff/files/snpEff_v4_1l_core.zip/download", + "access_time": "2018-10-08T18:35:33-0400", + "sha1_checksum": "c96e21564b05d6a7912e4dd35f9ef6fe2e094fbb" + } + }, + { + "name": "Vcftools", + "version": "0.1.12b", + "uri": { + "uri": "https://sourceforge.net/projects/vcftools/files/vcftools_0.1.12.tar.gz/download", + "access_time": "2018-10-08T18:35:33-0400", + "sha1_checksum": "29a1ab67786e39be57cbb1ef4e0f6682110b7516" + } + } + ], + "external_data_endpoints": [ + { + "name": "BCOReSeqTB", + "url": "https://github.com/CPTR-ReSeqTB/UVP/" + } + ], + "environment_variables": { + "CORE": "8" + } + }, + "io_domain": { + "input_subdomain": [ + { + "uri": { + "filename": "Mycobacterium tuberculosis H37Rv, complete genome", + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/NC_000962.fa" + } + }, + { + "uri": { + "filename": "Mycobacterium tuberculosis H37Rv, complete genome", + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/NC_000962.gbk" + } + }, + { + "uri": { + "filename": "excluded_loci", + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/excluded_loci.txt" + } + }, + { + "uri": { + "filename": "lineage_markers", + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/lineage_markers.txt" + } + }, + { + "uri": { + "filename": "variation sites", + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/snps.vcf" + } + }, + { + "uri": { + "filename": "ERR552106_2.fastq.gz", + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_input_fastq_files/ERR552106_2.fastq.gz" + } + }, + { + "uri": { + "filename": "ERR552106_1.fastq.gz", + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_input_fastq_files/ERR552106_1.fastq.gz" + } + } + ], + "output_subdomain": [ + { + "mediatype": "text/csv", + "uri": { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106.lineage_report.txt" + } + }, + { + "mediatype": "text/csv", + "uri": { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106.log" + } + }, + { + "mediatype": "text/csv", + "uri": { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_Coverage.txt" + } + }, + { + "mediatype": "text/csv", + "uri": { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106ERR552106_Final_annotation.txt" + } + }, + { + "mediatype": "text/csv", + "uri": { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_GATK.vcf" + } + }, + { + "mediatype": "text/csv", + "uri": { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_GATK_filtered.vcf" + } + }, + { + "mediatype": "text/csv", + "uri": { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_Lineage.txt" + } + }, + { + "mediatype": "text/csv", + "uri": { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_deleted_loci.txt" + } + }, + { + "mediatype": "text/csv", + "uri": { + "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_genome_region_coverage.txt" + } + } + ] + }, + "error_domain": { + "empirical_error": { + "description": [ + "This test object represents tests done with single lineage sequences to establish the sensitivity of UVP to detect lineage and antibiotic resistant variants", + "Test objective was to evaluate the ability of UVP to identify strain lineage and antibiotic resistant variants from samples of high, medium, low sequence qualities and depths of coverage of 10, 15, 20, 25 and 30-fold. Simulated reads developed from 12 lineage-specific M. tuberculosis (Mtb) genome sequences were used to test UVP." + ], + "parameters": { + "sample_type": "single Mtb lineages (n = 12) with antibiotic resistant variants introduced in silico", + "total_sample_size": "180", + "platform": "Illumina HiSeq 2000", + "paired_end": true, + "length": "100", + "simulated": true, + "program": "ART", + "simulator_parameters": [ + { + "ss": "hs20" + }, + { + "l": "100" + }, + { + "m": "500" + }, + { + "qU": "45" + }, + { + "s": "100" + } + ], + "sequence_quality_level_parameters": { + "description": "these correspond to the ART parameters: qs, qs2, ir, ir2, dr, dr2.", + "sequence_quality_high": { + "substitution_error_rate_R1": "0.0004", + "substitution_error_rate_R2": "0.0007", + "insertion_error_rate_R1": "0.00009", + "insertion_error_rate_R2": "0.00015", + "deletion_error_rate_R1": "0.00011", + "deletion_error_rate_R2": "0.00023", + "units": "errors per sequenced base" + }, + "sequence_quality_medium": { + "substitution_error_rate_R1": "0.004", + "substitution_error_rate_R2": "0.007", + "insertion_error_rate_R1": "0.0009", + "insertion_error_rate_R2": "0.0015", + "deletion_error_rate_R1": "0.0011", + "deletion_error_rate_R2": "0.0023", + "units": "errors per sequenced base" + }, + "sequence_quality_low": { + "substitution_error_rate_R1": "0.04", + "substitution_error_rate_R2": "0.07", + "insertion_error_rate_R1": "0.009", + "insertion_error_rate_R2": "0.015", + "deletion_error_rate_R1": "0.011", + "deletion_error_rate_R2": "0.023", + "units": "errors per sequenced base" + } + } + }, + "summary results": { + "sequence_quality_high": { + "sample size": "60", + "result": { + "lineage_assignment_rate": "93.33", + "mean_AR_identification_rate": "86.72", + "Units": "Percentage" + } + }, + "sequence_quality_medium": { + "sample size": "60", + "result": { + "lineage_assignment_rate": "90.00", + "mean_AR_identification_rate": "81.00", + "Units": "Percentage" + } + }, + "sequence_quality_low": { + "sample size": "60", + "result": { + "lineage_assignment_rate": "0.00", + "mean_AR_identification_rate": "0.00", + "Units": "Percentage" + } + }, + "coverage_10": { + "sample size": "36", + "result": { + "lineage_assignment_rate": "41.67", + "mean_AR_identification_rate": "22.42", + "Units": "Percentage" + } + }, + "coverage_15": { + "sample size": "36", + "result": { + "lineage_assignment_rate": "63.89", + "mean_AR_identification_rate": "57.14", + "Units": "Percentage" + } + }, + "coverage_20": { + "sample size": "36", + "result": { + "lineage_assignment_rate": "66.67", + "mean_AR_identification_rate": "66.46", + "Units": "Percentage" + } + }, + "coverage_25": { + "sample size": "36", + "result": { + "lineage_assignment_rate": "66.67", + "mean_AR_identification_rate": "66.66", + "Units": "Percentage" + } + }, + "coverage_30": { + "sample size": "36", + "result": { + "lineage_assignment_rate": "66.67", + "mean_AR_identification_rate": "66.66", + "Units": "Percentage" + } + } + }, + "detailed results": [ + { + "sequence_quality_high": { + "coverage_10": { + "sample size": "12", + "result": { + "lineage_assignment_rate": "66.67", + "mean_AR_identification_rate": "40.75", + "Units": "Percentage" + } + }, + "coverage_15": { + "sample size": "12", + "result": { + "lineage_assignment_rate": "100.00", + "mean_AR_identification_rate": "92.85", + "Units": "Percentage" + } + }, + "coverage_20": { + "sample size": "12", + "result": { + "lineage_assignment_rate": "100.00", + "mean_AR_identification_rate": "100.00", + "Units": "Percentage" + } + }, + "coverage_25": { + "sample size": "12", + "result": { + "lineage_assignment_rate": "100.00", + "mean_AR_identification_rate": "100.00", + "Units": "Percentage" + } + }, + "coverage_30": { + "sample size": "12", + "result": { + "lineage_assignment_rate": "100.00", + "mean_AR_identification_rate": "100.00", + "Units": "Percentage" + } + } + } + }, + { + "sequence_quality_medium": { + "coverage_10": { + "sample size": "12", + "result": { + "lineage_assignment_rate": "58.34", + "mean_AR_identification_rate": "26.50", + "Units": "Percentage" + } + }, + "coverage_15": { + "sample size": "12", + "result": { + "lineage_assignment_rate": "91.66", + "mean_AR_identification_rate": "78.57", + "Units": "Percentage" + } + }, + "coverage_20": { + "sample size": "12", + "result": { + "lineage_assignment_rate": "100.00", + "mean_AR_identification_rate": "99.40", + "Units": "Percentage" + } + }, + "coverage_25": { + "sample size": "12", + "result": { + "lineage_assignment_rate": "100.00", + "mean_AR_identification_rate": "100.00", + "Units": "Percentage" + } + }, + "coverage_30": { + "sample size": "12", + "result": { + "lineage_assignment_rate": "100.00", + "mean_AR_identification_rate": "100.00", + "Units": "Percentage" + } + } + } + }, + { + "sequence_quality_low": { + "coverage_10": { + "sample size": "12", + "result": { + "lineage_assignment_rate": "0.00", + "mean_AR_identification_rate": "0.00", + "Units": "Percentage" + } + }, + "coverage_15": { + "sample size": "12", + "result": { + "lineage_assignment_rate": "0.00", + "mean_AR_identification_rate": "0.00", + "Units": "Percentage" + } + }, + "coverage_20": { + "sample size": "12", + "result": { + "lineage_assignment_rate": "0.00", + "mean_AR_identification_rate": "0.00", + "Units": "Percentage" + } + }, + "coverage_25": { + "sample size": "12", + "result": { + "lineage_assignment_rate": "0.00", + "mean_AR_identification_rate": "0.00", + "Units": "Percentage" + } + }, + "coverage_30": { + "sample size": "12", + "result": { + "lineage_assignment_rate": "0.00", + "mean_AR_identification_rate": "0.00", + "Units": "Percentage" + } + } + } + } + ] + }, + "algorithmic_error": { + "placeholder": "for algorithmic error domain" + } + }, + "extension_domain": [ + { + "extension_schema": "https://raw.githubusercontent.com/biocompute-objects/extension_domain/1.1.0/scm/scm_extension.json", + "scm_extension": { + "scm_repository": "https://github.com/CPTR-ReSeqTB/UVP", + "scm_type": "git", + "scm_commit": "9e8f588b3cd3f5eebde29f7d2879e1a1e1c1aed3", + "scm_path": "UVP/scripts/UVP.py" + } + } + ] + }, + "object_class": null, + "object_id": "http://127.0.0.1:8000/OTHER_000001/1.0", + "owner_group": "bco_api_user", + "owner_user": "bco_api_user", + "prefix": "OTHER", + "schema": "IEEE", + "state": "PUBLISHED", + "last_update": "2022-06-28T23:41:49.719Z" + } + }, + { + "model": "api.bco", + "pk": 12, + "fields": { + "contents": { + "object_id": "http://127.0.0.1:8000/TEST_000001/1.0", + "spec_version": "https://w3id.org/ieee/ieee-2791-schema/2791object.json", + "etag": "998f0b8a499bd88952f945367c17d62e95611c9d026fb0713b84a5fa9bfb745d", + "provenance_domain": { + "name": "ARGOSdb QC related annotation data property list", + "version": "1.0", + "created": "2022-02-07T17:36:05.872Z", + "modified": "2022-02-15T14:35:54.116922", + "contributors": [ + { + "contribution": [ + "createdBy", + "authoredBy", + "contributedBy" + ], + "name": "Charles Hadley King", + "affiliation": "George Washington University", + "email": "hadley_king@gwu.edu", + "orcid": "https://orcid.org/0000-0003-1409-4549" + }, + { + "contribution": [ + "curatedBy", + "contributedBy" + ], + "name": "Stephanie Singleton", + "affiliation": "The George Washington University ", + "email": "ssingleton@gwu.edu" + }, + { + "contribution": [ + "createdBy", + "curatedBy" + ], + "name": "Jonathon Keeney", + "affiliation": "The George Washington University ", + "email": "keeneyjg@gwu.edu" + }, + { + "name": "Raja Mazumder", + "contribution": [ + "curatedBy" + ], + "affiliation": "The George Washington University ", + "email": "mazumder@gwu.edu", + "orcid": "https://orcid.org/0000-0001-8823-9945" + } + ], + "license": "https://github.com/FDA-ARGOS/data.argosdb/blob/v0.4_Feb/LICENSE" + }, + "usability_domain": [ + "List of controlled vocabulary terms for ARGOSdb annotation and metadata table data properties.", + "This sheet was created to aid in the integration of ARGOS data from many disparate sources. Each of the column headers in each of the respective data sheets displayed on www.data.argosdb.org was recommended by project members and collaborators from the FDA. The resulting list was manually curated to combine similar terms, and provide a consistent representation across all datasets in ARGOSdb.", + "The final result here is a list of properties and descriptive information about the property. The following are the column headers and their meaning: Property - consensus name for data property described in row. Data Object Type - The dataset this property is used in. Optional/Required - indicates if the property is REQUIRED to hava a valid data row. $id - For JSON schema conversion. Title - Human readable name for property. Default is the same as property. Type - property type as defined by JSON types. default - a default value for property. examples - and example for the property. pattern - the regular expression evaluation for this property. description - A definition and additional information about the property.", + "The primary use case for this property definition list is to ensure all data submitted to data.argosdb.org is following a consistent representation, and adhears to a controlled vocabulary of data properties." + ], + "description_domain": { + "keywords": [ + "curation", + "definitions", + "ontology", + "controlled vocabulary" + ], + "pipeline_steps": [ + { + "step_number": 1, + "name": "Header download", + "description": "Create a text file with the headers from each data sheet published for v0.3. Using the command `head -1 > ~/headers.txt`", + "prerequisite": [], + "input_list": [ + { + "uri": "http://data.argosdb.org/ln2downloads/argosdb_qc/02_15_2022/SRA_ngsQC.tsv", + "filename": "SRA_ngsQC.tsv" + }, + { + "uri": "http://data.argosdb.org/ln2downloads/argosdb_qc/02_15_2022/PRJNA231221_AssemblyUpdated.tsv", + "filename": "PRJNA231221_AssemblyUpdated.tsv" + }, + { + "uri": "http://data.argosdb.org/ln2downloads/argosdb_qc/02_15_2022/sars-cov-2_lineage_mutations.tsv", + "filename": "sars-cov-2_lineage_mutations.tsv" + } + ], + "output_list": [ + { + "uri": "https://argosdb-vm-dev/software/argosdb/home/headers.txt", + "filename": "headers.txt" + } + ] + }, + { + "step_number": 2, + "name": "Manual Curation", + "description": "Manual curation of headers.txt into a curated list of terms with definitions.", + "prerequisite": [], + "input_list": [ + { + "uri": "https://argosdb-vm-dev/software/argosdb/home/headers.txt" + } + ], + "output_list": [ + { + "uri": "https://data.argosdb.org/ ln2data/02_15_2022/annotation_property_list.tsv", + "access_time": "2022-02-03T13:42:44-0500", + "filename": "annotation_property_list.tsv" + } + ] + } + ] + }, + "execution_domain": { + "script": [ + { + "uri": { + "uri": "https://docs.google.com/spreadsheets/d/1EbHiGSmv6ZTGk6erQCl1oH8ye7EFuQPwKfWS5_7Cn60/edit#gid=0", + "filename": "FINAL_v0.3_argos_dict" + } + } + ], + "script_driver": "Google Drive/Sheets", + "software_prerequisites": [ + { + "name": "Microsof Excel", + "version": "16.57", + "uri": { + "uri": "https://www.microsoft.com/en-us/microsoft-365/excel" + } + } + ], + "external_data_endpoints": [ + { + "name": "data.ARGOSdb.org", + "url": "data.ARGOSdb.org" + }, + { + "name": "Google Drive", + "url": "https://drive.google.com/drive/u/3/folders/1uUa4UYG3dd6yTOdxiyoav6qktit4-J-9" + } + ], + "environment_variables": {} + }, + "io_domain": { + "input_subdomain": [ + { + "uri": { + "uri": "http://data.argosdb.org/ln2downloads/argosdb_qc/02_15_2022/SRA_ngsQC.tsv", + "filename": "SRA_ngsQC.tsv" + } + }, + { + "uri": { + "uri": "http://data.argosdb.org/ln2downloads/argosdb_qc/02_15_2022/PRJNA231221_AssemblyUpdated.tsv", + "filename": "PRJNA231221_AssemblyUpdated.tsv" + } + }, + { + "uri": { + "uri": "http://data.argosdb.org/ln2downloads/argosdb_qc/02_15_2022/sars-cov-2_lineage_mutations.tsv", + "filename": "sars-cov-2_lineage_mutations.tsv" + } + } + ], + "output_subdomain": [ + { + "mediatype": "text/tsv", + "uri": { + "uri": "https://data.argosdb.org/ ln2data/02_15_2022/annotation_property_list.tsv", + "access_time": "2022-02-03T13:42:44-0500", + "filename": "annotation_property_list.tsv" + } + } + ] + }, + "parametric_domain": [], + "error_domain": { + "empirical_error": {}, + "algorithmic_error": {} + }, + "extension_domain": [ + { + "extension_schema": "http://www.w3id.org/biocompute/extension_domain/1.2.0/dataset/dataset_extension.json", + "dataset_extension": { + "additional_license": { + "data_license": "https://creativecommons.org/licenses/by/4.0/", + "script_license": "https://www.gnu.org/licenses/gpl-3.0.en.html" + }, + "dataset_categories": [ + { + "category_value": "Other", + "category_name": "species" + }, + { + "category_value": "Other", + "category_name": "molecule" + }, + { + "category_value": "non-core", + "category_name": "priority" + }, + { + "category_value": "Dictionary", + "category_name": "species" + }, + { + "category_value": "tsv", + "category_name": "file_type" + }, + { + "category_value": "reviewed", + "category_name": "status" + } + ] + } + } + ] + }, + "object_class": null, + "object_id": "http://127.0.0.1:8000/TEST_000001/1.0", + "owner_group": "bco_api_user", + "owner_user": "test50", + "prefix": "TEST", + "schema": "IEEE", + "state": "PUBLISHED", + "last_update": "2022-06-28T23:44:58.161Z" + } + }, + { + "model": "api.bco", + "pk": 13, + "fields": { + "contents": { + "object_id": "http://127.0.0.1:8000/TEST_000001/1.2", + "spec_version": "https://w3id.org/ieee/ieee-2791-schema/2791object.json", + "etag": "998f0b8a499bd88952f945367c17d62e95611c9d026fb0713b84a5fa9bfb745d", + "provenance_domain": { + "name": "ARGOSdb QC related annotation data property list", + "version": "1.2", + "created": "2022-02-07T17:36:05.872Z", + "modified": "2022-02-15T14:35:54.116922", + "contributors": [ + { + "contribution": [ + "createdBy", + "authoredBy", + "contributedBy" + ], + "name": "Charles Hadley King", + "affiliation": "George Washington University", + "email": "hadley_king@gwu.edu", + "orcid": "https://orcid.org/0000-0003-1409-4549" + }, + { + "contribution": [ + "curatedBy", + "contributedBy" + ], + "name": "Stephanie Singleton", + "affiliation": "The George Washington University ", + "email": "ssingleton@gwu.edu" + }, + { + "contribution": [ + "createdBy", + "curatedBy" + ], + "name": "Jonathon Keeney", + "affiliation": "The George Washington University ", + "email": "keeneyjg@gwu.edu" + }, + { + "name": "Raja Mazumder", + "contribution": [ + "curatedBy" + ], + "affiliation": "The George Washington University ", + "email": "mazumder@gwu.edu", + "orcid": "https://orcid.org/0000-0001-8823-9945" + } + ], + "license": "https://github.com/FDA-ARGOS/data.argosdb/blob/v0.4_Feb/LICENSE" + }, + "usability_domain": [ + "List of controlled vocabulary terms for ARGOSdb annotation and metadata table data properties.", + "This sheet was created to aid in the integration of ARGOS data from many disparate sources. Each of the column headers in each of the respective data sheets displayed on www.data.argosdb.org was recommended by project members and collaborators from the FDA. The resulting list was manually curated to combine similar terms, and provide a consistent representation across all datasets in ARGOSdb.", + "The final result here is a list of properties and descriptive information about the property. The following are the column headers and their meaning: Property - consensus name for data property described in row. Data Object Type - The dataset this property is used in. Optional/Required - indicates if the property is REQUIRED to hava a valid data row. $id - For JSON schema conversion. Title - Human readable name for property. Default is the same as property. Type - property type as defined by JSON types. default - a default value for property. examples - and example for the property. pattern - the regular expression evaluation for this property. description - A definition and additional information about the property.", + "The primary use case for this property definition list is to ensure all data submitted to data.argosdb.org is following a consistent representation, and adhears to a controlled vocabulary of data properties." + ], + "description_domain": { + "keywords": [ + "curation", + "definitions", + "ontology", + "controlled vocabulary" + ], + "pipeline_steps": [ + { + "step_number": 1, + "name": "Header download", + "description": "Create a text file with the headers from each data sheet published for v0.3. Using the command `head -1 > ~/headers.txt`", + "prerequisite": [], + "input_list": [ + { + "uri": "http://data.argosdb.org/ln2downloads/argosdb_qc/02_15_2022/SRA_ngsQC.tsv", + "filename": "SRA_ngsQC.tsv" + }, + { + "uri": "http://data.argosdb.org/ln2downloads/argosdb_qc/02_15_2022/PRJNA231221_AssemblyUpdated.tsv", + "filename": "PRJNA231221_AssemblyUpdated.tsv" + }, + { + "uri": "http://data.argosdb.org/ln2downloads/argosdb_qc/02_15_2022/sars-cov-2_lineage_mutations.tsv", + "filename": "sars-cov-2_lineage_mutations.tsv" + } + ], + "output_list": [ + { + "uri": "https://argosdb-vm-dev/software/argosdb/home/headers.txt", + "filename": "headers.txt" + } + ] + }, + { + "step_number": 2, + "name": "Manual Curation", + "description": "Manual curation of headers.txt into a curated list of terms with definitions.", + "prerequisite": [], + "input_list": [ + { + "uri": "https://argosdb-vm-dev/software/argosdb/home/headers.txt" + } + ], + "output_list": [ + { + "uri": "https://data.argosdb.org/ ln2data/02_15_2022/annotation_property_list.tsv", + "access_time": "2022-02-03T13:42:44-0500", + "filename": "annotation_property_list.tsv" + } + ] + } + ] + }, + "execution_domain": { + "script": [ + { + "uri": { + "uri": "https://docs.google.com/spreadsheets/d/1EbHiGSmv6ZTGk6erQCl1oH8ye7EFuQPwKfWS5_7Cn60/edit#gid=0", + "filename": "FINAL_v0.3_argos_dict" + } + } + ], + "script_driver": "Google Drive/Sheets", + "software_prerequisites": [ + { + "name": "Microsof Excel", + "version": "16.57", + "uri": { + "uri": "https://www.microsoft.com/en-us/microsoft-365/excel" + } + } + ], + "external_data_endpoints": [ + { + "name": "data.ARGOSdb.org", + "url": "data.ARGOSdb.org" + }, + { + "name": "Google Drive", + "url": "https://drive.google.com/drive/u/3/folders/1uUa4UYG3dd6yTOdxiyoav6qktit4-J-9" + } + ], + "environment_variables": {} + }, + "io_domain": { + "input_subdomain": [ + { + "uri": { + "uri": "http://data.argosdb.org/ln2downloads/argosdb_qc/02_15_2022/SRA_ngsQC.tsv", + "filename": "SRA_ngsQC.tsv" + } + }, + { + "uri": { + "uri": "http://data.argosdb.org/ln2downloads/argosdb_qc/02_15_2022/PRJNA231221_AssemblyUpdated.tsv", + "filename": "PRJNA231221_AssemblyUpdated.tsv" + } + }, + { + "uri": { + "uri": "http://data.argosdb.org/ln2downloads/argosdb_qc/02_15_2022/sars-cov-2_lineage_mutations.tsv", + "filename": "sars-cov-2_lineage_mutations.tsv" + } + } + ], + "output_subdomain": [ + { + "mediatype": "text/tsv", + "uri": { + "uri": "https://data.argosdb.org/ ln2data/02_15_2022/annotation_property_list.tsv", + "access_time": "2022-02-03T13:42:44-0500", + "filename": "annotation_property_list.tsv" + } + } + ] + }, + "parametric_domain": [], + "error_domain": { + "empirical_error": {}, + "algorithmic_error": {} + }, + "extension_domain": [ + { + "extension_schema": "http://www.w3id.org/biocompute/extension_domain/1.2.0/dataset/dataset_extension.json", + "dataset_extension": { + "additional_license": { + "data_license": "https://creativecommons.org/licenses/by/4.0/", + "script_license": "https://www.gnu.org/licenses/gpl-3.0.en.html" + }, + "dataset_categories": [ + { + "category_value": "Other", + "category_name": "species" + }, + { + "category_value": "Other", + "category_name": "molecule" + }, + { + "category_value": "non-core", + "category_name": "priority" + }, + { + "category_value": "Dictionary", + "category_name": "species" + }, + { + "category_value": "tsv", + "category_name": "file_type" + }, + { + "category_value": "reviewed", + "category_name": "status" + } + ] + } + } + ] + }, + "object_class": null, + "object_id": "http://127.0.0.1:8000/TEST_000001/1.2", + "owner_group": "bco_api_user", + "owner_user": "test50", + "prefix": "TEST", + "schema": "IEEE", + "state": "PUBLISHED", + "last_update": "2022-06-28T23:44:58.161Z" + } + }, + { + "model": "api.bco", + "pk": 14, + "fields": { + "contents": { + "object_id": "", + "spec_version": "https://w3id.org/ieee/ieee-2791-schema/2791object.json", + "etag": "da75a2c36dd6bf449d1f7b150197096e11c51812", + "provenance_domain": { + "name": "", + "version": "", + "license": "", + "created": "2023-09-05T18:10:23", + "modified": "2023-09-05T18:10:23.167Z", + "contributors": [ + { + "name": "", + "affiliation": "", + "email": "", + "contribution": [], + "orcid": "" + } + ] + }, + "usability_domain": [], + "description_domain": { + "pipeline_steps": [] + }, + "parametric_domain": [], + "io_domain": {}, + "execution_domain": { + "script": [], + "script_driver": "", + "software_prerequisites": [], + "external_data_endpoints": [], + "environment_variables": {} + }, + "extension_domain": [] + }, + "object_class": null, + "object_id": "http://127.0.0.1:8000/TEST_000002/DRAFT", + "owner_group": "bco_api_user", + "owner_user": "test50", + "prefix": "DRAFT", + "schema": "IEEE", + "state": "DRAFT", + "last_update": "2023-09-24T09:16:04.123Z" + } + }, + { + "model": "api.groupinfo", + "pk": 1, + "fields": { + "delete_members_on_group_deletion": false, + "description": "Group administrators", + "expiration": null, + "group": "group_admins", + "max_n_members": -1, + "owner_user": "wheel" + } + }, + { + "model": "api.groupinfo", + "pk": 2, + "fields": { + "delete_members_on_group_deletion": false, + "description": "Prefix administrators", + "expiration": null, + "group": "prefix_admins", + "max_n_members": -1, + "owner_user": "wheel" + } + }, + { + "model": "api.groupinfo", + "pk": 3, + "fields": { + "delete_members_on_group_deletion": false, + "description": "Just a test prefix.", + "expiration": null, + "group": "test_drafter", + "max_n_members": -1, + "owner_user": "bco_api_user" + } + }, + { + "model": "api.groupinfo", + "pk": 4, + "fields": { + "delete_members_on_group_deletion": false, + "description": "Just a test prefix.", + "expiration": null, + "group": "test_publisher", + "max_n_members": -1, + "owner_user": "bco_api_user" + } + }, + { + "model": "api.groupinfo", + "pk": 5, + "fields": { + "delete_members_on_group_deletion": false, + "description": "Just an other prefix.", + "expiration": null, + "group": "other_drafter", + "max_n_members": -1, + "owner_user": "bco_api_user" + } + }, + { + "model": "api.groupinfo", + "pk": 6, + "fields": { + "delete_members_on_group_deletion": false, + "description": "Just an other prefix.", + "expiration": null, + "group": "other_publisher", + "max_n_members": -1, + "owner_user": "bco_api_user" + } + }, + { + "model": "api.prefix_table", + "pk": 1, + "fields": { + "n_objects": 8, + "prefix": "BCO" + } + }, + { + "model": "api.prefix_table", + "pk": 2, + "fields": { + "n_objects": 3, + "prefix": "TEST" + } + }, + { + "model": "api.prefix_table", + "pk": 3, + "fields": { + "n_objects": 3, + "prefix": "OTHER" + } + }, + { + "model": "api.prefix", + "pk": 1, + "fields": { + "certifying_server": null, + "certifying_key": null, + "created": "2022-05-10T20:35:14.712Z", + "created_by": "bco_publisher", + "description": null, + "expires": null, + "owner_group": "bco_publisher", + "owner_user": "bco_publisher", + "prefix": "BCO" + } + }, + { + "model": "api.prefix", + "pk": 2, + "fields": { + "certifying_server": null, + "certifying_key": null, + "created": "2022-05-10T21:48:32.633Z", + "created_by": "bco_api_user", + "description": "Just a test prefix.", + "expires": null, + "owner_group": "bco_api_user", + "owner_user": "bco_api_user", + "prefix": "TEST" + } + }, + { + "model": "api.prefix", + "pk": 3, + "fields": { + "certifying_server": null, + "certifying_key": null, + "created": "2022-05-10T21:48:35.104Z", + "created_by": "bco_api_user", + "description": "Just an other prefix.", + "expires": null, + "owner_group": "bco_api_user", + "owner_user": "bco_api_user", + "prefix": "OTHER" + } + }, + { + "model": "authentication.authentication", + "pk": 1, + "fields": { + "username": "bco_api_user", + "auth_service": [ + { + "iss": "Reeya1", + "sub": "ReeyaGupta1" + }, + { + "iss": "string", + "sub": "string" + } + ] + } + } +] \ No newline at end of file diff --git a/tests/fixtures/test_data.json b/tests/fixtures/test_data.json index b0bc2df6..667caf85 100644 --- a/tests/fixtures/test_data.json +++ b/tests/fixtures/test_data.json @@ -1,186 +1,4 @@ [ - { - "model": "admin.logentry", - "pk": 1, - "fields": { - "action_time": "2022-06-28T23:06:35.693Z", - "user": 6, - "content_type": 10, - "object_id": "1", - "object_repr": "http://127.0.0.1:8000/BCO_000000/DRAFT", - "action_flag": 2, - "change_message": "[{\"changed\": {\"fields\": [\"Contents\"]}}]" - } - }, - { - "model": "admin.logentry", - "pk": 2, - "fields": { - "action_time": "2022-06-28T23:08:10.571Z", - "user": 6, - "content_type": 10, - "object_id": "1", - "object_repr": "http://127.0.0.1:8000/BCO_000000/DRAFT", - "action_flag": 2, - "change_message": "[{\"changed\": {\"fields\": [\"Contents\"]}}]" - } - }, - { - "model": "admin.logentry", - "pk": 3, - "fields": { - "action_time": "2022-06-28T23:09:47.922Z", - "user": 6, - "content_type": 10, - "object_id": "1", - "object_repr": "http://127.0.0.1:8000/BCO_000000/DRAFT", - "action_flag": 2, - "change_message": "[{\"changed\": {\"fields\": [\"Contents\"]}}]" - } - }, - { - "model": "admin.logentry", - "pk": 4, - "fields": { - "action_time": "2022-06-28T23:12:37.828Z", - "user": 6, - "content_type": 10, - "object_id": "2", - "object_repr": "http://127.0.0.1:8000/BCO_000001/DRAFT", - "action_flag": 2, - "change_message": "[{\"changed\": {\"fields\": [\"Contents\"]}}]" - } - }, - { - "model": "admin.logentry", - "pk": 5, - "fields": { - "action_time": "2022-06-28T23:14:01.431Z", - "user": 6, - "content_type": 10, - "object_id": "5", - "object_repr": "http://127.0.0.1:8000/TEST_000001/DRAFT", - "action_flag": 2, - "change_message": "[{\"changed\": {\"fields\": [\"Contents\"]}}]" - } - }, - { - "model": "admin.logentry", - "pk": 6, - "fields": { - "action_time": "2022-06-28T23:16:50.236Z", - "user": 6, - "content_type": 10, - "object_id": "5", - "object_repr": "http://127.0.0.1:8000/TEST_000001/DRAFT", - "action_flag": 2, - "change_message": "[{\"changed\": {\"fields\": [\"Contents\"]}}]" - } - }, - { - "model": "admin.logentry", - "pk": 7, - "fields": { - "action_time": "2022-06-28T23:19:25.710Z", - "user": 6, - "content_type": 10, - "object_id": "3", - "object_repr": "http://127.0.0.1:8000/BCO_000002/DRAFT", - "action_flag": 2, - "change_message": "[{\"changed\": {\"fields\": [\"Contents\"]}}]" - } - }, - { - "model": "admin.logentry", - "pk": 8, - "fields": { - "action_time": "2022-06-28T23:21:05.713Z", - "user": 6, - "content_type": 10, - "object_id": "4", - "object_repr": "http://127.0.0.1:8000/BCO_000003/DRAFT", - "action_flag": 2, - "change_message": "[{\"changed\": {\"fields\": [\"Contents\"]}}]" - } - }, - { - "model": "admin.logentry", - "pk": 9, - "fields": { - "action_time": "2022-06-28T23:21:43.425Z", - "user": 6, - "content_type": 10, - "object_id": "4", - "object_repr": "http://127.0.0.1:8000/BCO_000003/DRAFT", - "action_flag": 2, - "change_message": "[{\"changed\": {\"fields\": [\"Contents\"]}}]" - } - }, - { - "model": "admin.logentry", - "pk": 10, - "fields": { - "action_time": "2022-06-28T23:23:00.080Z", - "user": 6, - "content_type": 10, - "object_id": "6", - "object_repr": "http://127.0.0.1:8000/OTHER_000001/DRAFT", - "action_flag": 2, - "change_message": "[{\"changed\": {\"fields\": [\"Owner group\"]}}]" - } - }, - { - "model": "admin.logentry", - "pk": 11, - "fields": { - "action_time": "2022-06-28T23:23:13.087Z", - "user": 6, - "content_type": 10, - "object_id": "5", - "object_repr": "http://127.0.0.1:8000/TEST_000001/DRAFT", - "action_flag": 2, - "change_message": "[{\"changed\": {\"fields\": [\"Owner group\"]}}]" - } - }, - { - "model": "admin.logentry", - "pk": 12, - "fields": { - "action_time": "2022-06-28T23:41:21.155Z", - "user": 6, - "content_type": 10, - "object_id": "6", - "object_repr": "http://127.0.0.1:8000/OTHER_000001/DRAFT", - "action_flag": 2, - "change_message": "[{\"changed\": {\"fields\": [\"Contents\"]}}]" - } - }, - { - "model": "admin.logentry", - "pk": 13, - "fields": { - "action_time": "2022-06-28T23:43:57.562Z", - "user": 6, - "content_type": 10, - "object_id": "5", - "object_repr": "http://127.0.0.1:8000/TEST_000001/DRAFT", - "action_flag": 2, - "change_message": "[{\"changed\": {\"fields\": [\"Contents\"]}}]" - } - }, - { - "model": "admin.logentry", - "pk": 14, - "fields": { - "action_time": "2022-06-28T23:44:43.690Z", - "user": 6, - "content_type": 10, - "object_id": "5", - "object_repr": "http://127.0.0.1:8000/TEST_000001/DRAFT", - "action_flag": 2, - "change_message": "[{\"changed\": {\"fields\": [\"Contents\"]}}]" - } - }, { "model": "auth.permission", "pk": 1, @@ -473,5115 +291,571 @@ "model": "auth.permission", "pk": 33, "fields": { - "name": "Can add new_users", + "name": "Can add blacklisted token", "content_type": 9, - "codename": "add_new_users" + "codename": "add_blacklistedtoken" } }, { "model": "auth.permission", "pk": 34, "fields": { - "name": "Can change new_users", + "name": "Can change blacklisted token", "content_type": 9, - "codename": "change_new_users" + "codename": "change_blacklistedtoken" } }, { "model": "auth.permission", "pk": 35, "fields": { - "name": "Can delete new_users", + "name": "Can delete blacklisted token", "content_type": 9, - "codename": "delete_new_users" + "codename": "delete_blacklistedtoken" } }, { "model": "auth.permission", "pk": 36, "fields": { - "name": "Can view new_users", + "name": "Can view blacklisted token", "content_type": 9, - "codename": "view_new_users" + "codename": "view_blacklistedtoken" } }, { "model": "auth.permission", "pk": 37, "fields": { - "name": "Can add bco", + "name": "Can add group object permission", "content_type": 10, - "codename": "add_bco" + "codename": "add_groupobjectpermission" } }, { "model": "auth.permission", "pk": 38, "fields": { - "name": "Can change bco", + "name": "Can change group object permission", "content_type": 10, - "codename": "change_bco" + "codename": "change_groupobjectpermission" } }, { "model": "auth.permission", "pk": 39, "fields": { - "name": "Can delete bco", + "name": "Can delete group object permission", "content_type": 10, - "codename": "delete_bco" + "codename": "delete_groupobjectpermission" } }, { "model": "auth.permission", "pk": 40, "fields": { - "name": "Can view bco", + "name": "Can view group object permission", "content_type": 10, - "codename": "view_bco" + "codename": "view_groupobjectpermission" } }, { "model": "auth.permission", "pk": 41, "fields": { - "name": "Can add prefix_table", + "name": "Can add user object permission", "content_type": 11, - "codename": "add_prefix_table" + "codename": "add_userobjectpermission" } }, { "model": "auth.permission", "pk": 42, "fields": { - "name": "Can change prefix_table", + "name": "Can change user object permission", "content_type": 11, - "codename": "change_prefix_table" + "codename": "change_userobjectpermission" } }, { "model": "auth.permission", "pk": 43, "fields": { - "name": "Can delete prefix_table", + "name": "Can delete user object permission", "content_type": 11, - "codename": "delete_prefix_table" + "codename": "delete_userobjectpermission" } }, { "model": "auth.permission", "pk": 44, "fields": { - "name": "Can view prefix_table", + "name": "Can view user object permission", "content_type": 11, - "codename": "view_prefix_table" + "codename": "view_userobjectpermission" } }, { "model": "auth.permission", "pk": 45, "fields": { - "name": "Can add group info", + "name": "Can add new user", "content_type": 12, - "codename": "add_groupinfo" + "codename": "add_newuser" } }, { "model": "auth.permission", "pk": 46, "fields": { - "name": "Can change group info", + "name": "Can change new user", "content_type": 12, - "codename": "change_groupinfo" + "codename": "change_newuser" } }, { "model": "auth.permission", "pk": 47, "fields": { - "name": "Can delete group info", + "name": "Can delete new user", "content_type": 12, - "codename": "delete_groupinfo" + "codename": "delete_newuser" } }, { "model": "auth.permission", "pk": 48, "fields": { - "name": "Can view group info", + "name": "Can view new user", "content_type": 12, - "codename": "view_groupinfo" + "codename": "view_newuser" } }, { "model": "auth.permission", "pk": 49, "fields": { - "name": "Can add prefix", + "name": "Can add authentication", "content_type": 13, - "codename": "add_prefix" + "codename": "add_authentication" } }, { "model": "auth.permission", "pk": 50, "fields": { - "name": "Can change prefix", + "name": "Can change authentication", "content_type": 13, - "codename": "change_prefix" + "codename": "change_authentication" } }, { "model": "auth.permission", "pk": 51, "fields": { - "name": "Can delete prefix", + "name": "Can delete authentication", "content_type": 13, - "codename": "delete_prefix" + "codename": "delete_authentication" } }, { "model": "auth.permission", "pk": 52, "fields": { - "name": "Can view prefix", + "name": "Can view authentication", "content_type": 13, - "codename": "view_prefix" + "codename": "view_authentication" } }, { "model": "auth.permission", "pk": 53, "fields": { - "name": "Can add BCOs with prefix BCO", - "content_type": 10, - "codename": "add_BCO" + "name": "Can add bco", + "content_type": 14, + "codename": "add_bco" } }, { "model": "auth.permission", "pk": 54, "fields": { - "name": "Can change BCOs with prefix BCO", - "content_type": 10, - "codename": "change_BCO" + "name": "Can change bco", + "content_type": 14, + "codename": "change_bco" } }, { "model": "auth.permission", "pk": 55, "fields": { - "name": "Can delete BCOs with prefix BCO", - "content_type": 10, - "codename": "delete_BCO" + "name": "Can delete bco", + "content_type": 14, + "codename": "delete_bco" } }, { "model": "auth.permission", "pk": 56, "fields": { - "name": "Can view BCOs with prefix BCO", - "content_type": 10, - "codename": "view_BCO" + "name": "Can view bco", + "content_type": 14, + "codename": "view_bco" } }, { "model": "auth.permission", "pk": 57, "fields": { - "name": "Can draft BCOs with prefix BCO", - "content_type": 10, - "codename": "draft_BCO" + "name": "Can add prefix", + "content_type": 15, + "codename": "add_prefix" } }, { "model": "auth.permission", "pk": 58, "fields": { - "name": "Can publish BCOs with prefix BCO", - "content_type": 10, - "codename": "publish_BCO" + "name": "Can change prefix", + "content_type": 15, + "codename": "change_prefix" } }, { "model": "auth.permission", "pk": 59, "fields": { - "name": "Can add group object permission", - "content_type": 14, - "codename": "add_groupobjectpermission" + "name": "Can delete prefix", + "content_type": 15, + "codename": "delete_prefix" } }, { "model": "auth.permission", "pk": 60, "fields": { - "name": "Can change group object permission", - "content_type": 14, - "codename": "change_groupobjectpermission" + "name": "Can view prefix", + "content_type": 15, + "codename": "view_prefix" } }, { - "model": "auth.permission", - "pk": 61, + "model": "auth.user", + "pk": 1, "fields": { - "name": "Can delete group object permission", - "content_type": 14, - "codename": "delete_groupobjectpermission" + "password": "!Bh8Fg1xZLdW7N3SEpDh5IO2PzJZtsMDEqwHeJn5w", + "last_login": null, + "is_superuser": false, + "username": "AnonymousUser", + "first_name": "", + "last_name": "", + "email": "", + "is_staff": false, + "is_active": true, + "date_joined": "2024-03-14T13:52:22.277Z", + "groups": [], + "user_permissions": [] } }, { - "model": "auth.permission", - "pk": 62, + "model": "auth.user", + "pk": 2, "fields": { - "name": "Can view group object permission", - "content_type": 14, - "codename": "view_groupobjectpermission" + "password": "pbkdf2_sha256$260000$dUkrKpJQ4E9Yxc7Jwv4vED$4un2CAwu8aGcLPo4Cpr7hfjz7ReHKSsDX1aF01AzDv0=", + "last_login": "2024-03-14T13:52:58.235Z", + "is_superuser": true, + "username": "wheel", + "first_name": "", + "last_name": "", + "email": "wheel@wheel.wheel", + "is_staff": true, + "is_active": true, + "date_joined": "2024-03-14T13:52:45.992Z", + "groups": [], + "user_permissions": [] } }, - { - "model": "auth.permission", - "pk": 63, + { + "model": "auth.user", + "pk": 3, + "fields": { + "password": "pbkdf2_sha256$260000$9bpdEuUNU9qApubRxNJM8d$0fA4uPEKG0TQBuHp/Cn04q9JtzC9rABjajxZb6NFEgg=", + "last_login": "2023-01-14T12:21:51.437Z", + "is_superuser": true, + "username": "bco_api_user", + "first_name": "", + "last_name": "", + "email": "object.biocompute@gmail.com", + "is_staff": true, + "is_active": true, + "date_joined": "2022-05-10T20:35:53Z", + "groups": [], + "user_permissions": [] + } + }, + { + "model": "auth.user", + "pk": 4, + "fields": { + "password": "pbkdf2_sha256$260000$ncP8Sob0Rke6WIsf6lV0Ep$5/tabe+16bQcMdn3nmpX4Zb101XPc2dwTNxf9euS9lg=", + "last_login": null, + "is_superuser": false, + "username": "tester", + "first_name": "", + "last_name": "", + "email": "tester@testing.com", + "is_staff": false, + "is_active": true, + "date_joined": "2022-05-10T20:50:39.093Z", + "groups": [], + "user_permissions": [] + } + }, + { + "model": "auth.user", + "pk": 5, + "fields": { + "password": "pbkdf2_sha256$260000$nj2qTc19zYzyQ0NZIRQvw5$wd8ZURl0hx0uCMYhK8nD7kqGIScs0wqHIcxd6+1Wryw=", + "last_login": null, + "is_superuser": false, + "username": "hivelab", + "first_name": "", + "last_name": "", + "email": "hivelab@testing.com", + "is_staff": false, + "is_active": true, + "date_joined": "2022-05-10T20:53:42.499Z", + "groups": [], + "user_permissions": [] + } + }, + { + "model": "auth.user", + "pk": 6, + "fields": { + "password": "pbkdf2_sha256$260000$BK01G28EhBSlvLORWDFlYc$pFSvEXoeDN6QlTnrNVkfBDI+onkb/biwHquIevBY5Pw=", + "last_login": null, + "is_superuser": false, + "username": "jdoe", + "first_name": "", + "last_name": "", + "email": "jdoe@testing.com", + "is_staff": false, + "is_active": true, + "date_joined": "2022-05-10T20:54:44.793Z", + "groups": [], + "user_permissions": [] + } + }, + { + "model": "contenttypes.contenttype", + "pk": 1, "fields": { - "name": "Can add user object permission", - "content_type": 15, - "codename": "add_userobjectpermission" + "app_label": "admin", + "model": "logentry" } }, { - "model": "auth.permission", - "pk": 64, + "model": "contenttypes.contenttype", + "pk": 2, "fields": { - "name": "Can change user object permission", - "content_type": 15, - "codename": "change_userobjectpermission" + "app_label": "auth", + "model": "permission" } }, { - "model": "auth.permission", - "pk": 65, + "model": "contenttypes.contenttype", + "pk": 3, "fields": { - "name": "Can delete user object permission", - "content_type": 15, - "codename": "delete_userobjectpermission" + "app_label": "auth", + "model": "group" } }, { - "model": "auth.permission", - "pk": 66, + "model": "contenttypes.contenttype", + "pk": 4, "fields": { - "name": "Can view user object permission", - "content_type": 15, - "codename": "view_userobjectpermission" + "app_label": "auth", + "model": "user" } }, { - "model": "auth.permission", - "pk": 67, + "model": "contenttypes.contenttype", + "pk": 5, "fields": { - "name": "Can add BCOs with prefix TEST", - "content_type": 10, - "codename": "add_TEST" + "app_label": "contenttypes", + "model": "contenttype" } }, { - "model": "auth.permission", - "pk": 68, + "model": "contenttypes.contenttype", + "pk": 6, "fields": { - "name": "Can change BCOs with prefix TEST", - "content_type": 10, - "codename": "change_TEST" + "app_label": "sessions", + "model": "session" } }, { - "model": "auth.permission", - "pk": 69, + "model": "contenttypes.contenttype", + "pk": 7, "fields": { - "name": "Can delete BCOs with prefix TEST", - "content_type": 10, - "codename": "delete_TEST" + "app_label": "authtoken", + "model": "token" } }, { - "model": "auth.permission", - "pk": 70, + "model": "contenttypes.contenttype", + "pk": 8, "fields": { - "name": "Can view BCOs with prefix TEST", - "content_type": 10, - "codename": "view_TEST" + "app_label": "authtoken", + "model": "tokenproxy" } }, { - "model": "auth.permission", - "pk": 71, + "model": "contenttypes.contenttype", + "pk": 9, "fields": { - "name": "Can draft BCOs with prefix TEST", - "content_type": 10, - "codename": "draft_TEST" + "app_label": "blacklist", + "model": "blacklistedtoken" } }, { - "model": "auth.permission", - "pk": 72, + "model": "contenttypes.contenttype", + "pk": 10, "fields": { - "name": "Can publish BCOs with prefix TEST", - "content_type": 10, - "codename": "publish_TEST" + "app_label": "guardian", + "model": "groupobjectpermission" } }, { - "model": "auth.permission", - "pk": 73, + "model": "contenttypes.contenttype", + "pk": 11, "fields": { - "name": "Can add BCOs with prefix OTHER", - "content_type": 10, - "codename": "add_OTHER" + "app_label": "guardian", + "model": "userobjectpermission" } }, { - "model": "auth.permission", - "pk": 74, + "model": "contenttypes.contenttype", + "pk": 12, "fields": { - "name": "Can change BCOs with prefix OTHER", - "content_type": 10, - "codename": "change_OTHER" + "app_label": "authentication", + "model": "newuser" } }, { - "model": "auth.permission", - "pk": 75, - "fields": { - "name": "Can delete BCOs with prefix OTHER", - "content_type": 10, - "codename": "delete_OTHER" - } - }, - { - "model": "auth.permission", - "pk": 76, - "fields": { - "name": "Can view BCOs with prefix OTHER", - "content_type": 10, - "codename": "view_OTHER" - } - }, - { - "model": "auth.permission", - "pk": 77, - "fields": { - "name": "Can draft BCOs with prefix OTHER", - "content_type": 10, - "codename": "draft_OTHER" - } - }, - { - "model": "auth.permission", - "pk": 78, - "fields": { - "name": "Can publish BCOs with prefix OTHER", - "content_type": 10, - "codename": "publish_OTHER" - } - }, - { - "model": "auth.permission", - "pk": 79, - "fields": { - "name": "Can add blacklisted token", - "content_type": 16, - "codename": "add_blacklistedtoken" - } - }, - { - "model": "auth.permission", - "pk": 80, - "fields": { - "name": "Can change blacklisted token", - "content_type": 16, - "codename": "change_blacklistedtoken" - } - }, - { - "model": "auth.permission", - "pk": 81, - "fields": { - "name": "Can delete blacklisted token", - "content_type": 16, - "codename": "delete_blacklistedtoken" - } - }, - { - "model": "auth.permission", - "pk": 82, - "fields": { - "name": "Can view blacklisted token", - "content_type": 16, - "codename": "view_blacklistedtoken" - } - }, - { - "model": "auth.permission", - "pk": 83, - "fields": { - "name": "Can add authentication", - "content_type": 17, - "codename": "add_authentication" - } - }, - { - "model": "auth.permission", - "pk": 84, - "fields": { - "name": "Can change authentication", - "content_type": 17, - "codename": "change_authentication" - } - }, - { - "model": "auth.permission", - "pk": 85, - "fields": { - "name": "Can delete authentication", - "content_type": 17, - "codename": "delete_authentication" - } - }, - { - "model": "auth.permission", - "pk": 86, - "fields": { - "name": "Can view authentication", - "content_type": 17, - "codename": "view_authentication" - } - }, - { - "model": "auth.group", - "pk": 1, - "fields": { - "name": "bco_drafter", - "permissions": [ - 53, - 54, - 55, - 57, - 56 - ] - } - }, - { - "model": "auth.group", - "pk": 2, - "fields": { - "name": "bco_publisher", - "permissions": [ - 53, - 54, - 55, - 57, - 58, - 56 - ] - } - }, - { - "model": "auth.group", - "pk": 3, - "fields": { - "name": "anon", - "permissions": [] - } - }, - { - "model": "auth.group", - "pk": 4, - "fields": { - "name": "wheel", - "permissions": [] - } - }, - { - "model": "auth.group", - "pk": 5, - "fields": { - "name": "group_admins", - "permissions": [ - 9, - 10, - 11, - 12 - ] - } - }, - { - "model": "auth.group", - "pk": 6, - "fields": { - "name": "prefix_admins", - "permissions": [ - 49, - 50, - 51, - 52 - ] - } - }, - { - "model": "auth.group", - "pk": 7, - "fields": { - "name": "AnonymousUser", - "permissions": [] - } - }, - { - "model": "auth.group", - "pk": 8, - "fields": { - "name": "bco_api_user", - "permissions": [ - 73, - 67, - 74, - 68, - 75, - 69, - 77, - 71, - 78, - 72, - 76, - 70 - ] - } - }, - { - "model": "auth.group", - "pk": 9, - "fields": { - "name": "test50", - "permissions": [] - } - }, - { - "model": "auth.group", - "pk": 10, - "fields": { - "name": "hivelab37", - "permissions": [] - } - }, - { - "model": "auth.group", - "pk": 11, - "fields": { - "name": "jdoe58", - "permissions": [] - } - }, - { - "model": "auth.group", - "pk": 12, - "fields": { - "name": "test_drafter", - "permissions": [ - 67, - 68, - 69, - 71, - 70 - ] - } - }, - { - "model": "auth.group", + "model": "contenttypes.contenttype", "pk": 13, "fields": { - "name": "test_publisher", - "permissions": [ - 67, - 68, - 69, - 71, - 72, - 70 - ] + "app_label": "authentication", + "model": "authentication" } }, { - "model": "auth.group", + "model": "contenttypes.contenttype", "pk": 14, "fields": { - "name": "other_drafter", - "permissions": [ - 73, - 74, - 75, - 77, - 76 - ] + "app_label": "biocompute", + "model": "bco" } }, { - "model": "auth.group", + "model": "contenttypes.contenttype", "pk": 15, "fields": { - "name": "other_publisher", - "permissions": [ - 73, - 74, - 75, - 77, - 78, - 76 - ] - } - }, - { - "model": "auth.user", - "pk": 1, - "fields": { - "password": "!i7FmD5oJKoZbSswUfPpd5hHZTO1uUL4M26R2DIzb", - "last_login": null, - "is_superuser": false, - "username": "bco_drafter", - "first_name": "", - "last_name": "", - "email": "", - "is_staff": false, - "is_active": true, - "date_joined": "2022-05-10T20:35:14.496Z", - "groups": [ - 1 - ], - "user_permissions": [] - } - }, - { - "model": "auth.user", - "pk": 2, - "fields": { - "password": "!zwQlrQ6x12cENcNlfEBkImrSqyM1BaC6gZwEdJzm", - "last_login": null, - "is_superuser": false, - "username": "bco_publisher", - "first_name": "", - "last_name": "", - "email": "", - "is_staff": false, - "is_active": true, - "date_joined": "2022-05-10T20:35:14.506Z", - "groups": [ - 1, - 2 - ], - "user_permissions": [ - 53, - 54, - 55, - 57, - 58, - 56 - ] + "app_label": "prefix", + "model": "prefix" } }, - { - "model": "auth.user", - "pk": 3, - "fields": { - "password": "!nFpSYz0kD54JC8eO25OIH5sZpPYnjNpYyh5th60k", - "last_login": null, - "is_superuser": false, - "username": "anon", - "first_name": "", - "last_name": "", - "email": "", - "is_staff": false, - "is_active": true, - "date_joined": "2022-05-10T20:35:14.517Z", - "groups": [ - 3 - ], - "user_permissions": [] - } - }, - { - "model": "auth.user", - "pk": 4, - "fields": { - "password": "pbkdf2_sha256$260000$CYgsYlwKXcRZrLo5HSr4jU$4MmwM6zGNaIzmQyY90oWqP5J3qdrbige5P02T0N0Z60=", - "last_login": "2024-03-07T21:54:18.430Z", - "is_superuser": true, - "username": "wheel", - "first_name": "", - "last_name": "", - "email": "", - "is_staff": true, - "is_active": true, - "date_joined": "2022-05-10T20:35:14.528Z", - "groups": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "user_permissions": [] - } - }, - { - "model": "auth.user", - "pk": 5, - "fields": { - "password": "!eYwmI7Fc6k6AF6TNLEYV9K9BzbyHJEM5EugCKKOU", - "last_login": null, - "is_superuser": false, - "username": "AnonymousUser", - "first_name": "", - "last_name": "", - "email": "", - "is_staff": false, - "is_active": true, - "date_joined": "2022-05-10T20:35:14.844Z", - "groups": [ - 1, - 2, - 7 - ], - "user_permissions": [] - } - }, - { - "model": "auth.user", - "pk": 6, - "fields": { - "password": "pbkdf2_sha256$260000$9bpdEuUNU9qApubRxNJM8d$0fA4uPEKG0TQBuHp/Cn04q9JtzC9rABjajxZb6NFEgg=", - "last_login": "2022-06-28T23:05:37.314Z", - "is_superuser": true, - "username": "bco_api_user", - "first_name": "BioCompute", - "last_name": "Objects", - "email": "object.biocompute@gmail.com", - "is_staff": true, - "is_active": true, - "date_joined": "2022-05-10T20:35:53.381Z", - "groups": [ - 1, - 2, - 6, - 8, - 12, - 13, - 14, - 15 - ], - "user_permissions": [ - 73, - 67, - 74, - 68, - 75, - 69, - 77, - 71, - 78, - 72, - 76, - 70 - ] - } - }, - { - "model": "auth.user", - "pk": 7, - "fields": { - "password": "pbkdf2_sha256$260000$ncP8Sob0Rke6WIsf6lV0Ep$5/tabe+16bQcMdn3nmpX4Zb101XPc2dwTNxf9euS9lg=", - "last_login": null, - "is_superuser": false, - "username": "test50", - "first_name": "", - "last_name": "", - "email": "test@testing.com", - "is_staff": false, - "is_active": true, - "date_joined": "2022-05-10T20:50:39.093Z", - "groups": [ - 1, - 2, - 9, - 12 - ], - "user_permissions": [] - } - }, - { - "model": "auth.user", - "pk": 8, - "fields": { - "password": "pbkdf2_sha256$260000$nj2qTc19zYzyQ0NZIRQvw5$wd8ZURl0hx0uCMYhK8nD7kqGIScs0wqHIcxd6+1Wryw=", - "last_login": null, - "is_superuser": false, - "username": "hivelab37", - "first_name": "HIVE", - "last_name": "Lab", - "email": "hivelab@testing.com", - "is_staff": false, - "is_active": true, - "date_joined": "2022-05-10T20:53:42.499Z", - "groups": [ - 1, - 2, - 10 - ], - "user_permissions": [] - } - }, - { - "model": "auth.user", - "pk": 9, - "fields": { - "password": "pbkdf2_sha256$260000$BK01G28EhBSlvLORWDFlYc$pFSvEXoeDN6QlTnrNVkfBDI+onkb/biwHquIevBY5Pw=", - "last_login": null, - "is_superuser": false, - "username": "jdoe58", - "first_name": "John", - "last_name": "Doe", - "email": "jdoe@testing.com", - "is_staff": false, - "is_active": true, - "date_joined": "2022-05-10T20:54:44.793Z", - "groups": [ - 1, - 2, - 11 - ], - "user_permissions": [] - } - }, - { "model": "sessions.session", - "pk": "82y6iptnatolxvvuza5tjpftnjs15ucs", + "pk": "mpq9r3ogmf3pel91gaqfvhzaf0pmdl4f", "fields": { - "session_data": ".eJxVjEEOwiAQRe_C2hCoDKBL956BzAyDVA1NSrsy3l2bdKHb_977L5VwXWpau8xpzOqsvDr8boT8kLaBfMd2mzRPbZlH0puid9r1dcryvOzu30HFXr-1eLAeTg4ymWLEhwwETogKe7YmBBwiW4vHQayLxB7RYXauhAgCCOr9AennOCw:1o6Ctw:poy6l1agnmqGeCEBGDUHoPJmt_d7BoLfpQmxeubFgv4", - "expire_date": "2022-07-12T15:13:16.934Z" + "session_data": ".eJxVjMsOwiAQRf-FtSHlDS7d-w0EZgapGkhKuzL-uzbpQrf3nHNfLKZtrXEbtMQZ2ZlJdvrdcoIHtR3gPbVb59DbusyZ7wo_6ODXjvS8HO7fQU2jfutifZk0-qJdnkxI2StUWpB02kMCRcKGgii9KyRcQKDsjVDKFWOVk8DeH-rXN_A:1rklVy:mEkrOQPP77B9gY7nyQKTbKv0G5l_4e3OOxWx6FubKb4", + "expire_date": "2024-03-28T13:52:58.236Z" } }, { - "model": "sessions.session", - "pk": "aa91y2h5pktdnhqqpch0nsyv3kvmr5ff", + "model": "authtoken.token", + "pk": "1ef53d4042d14299918a4e1f21d2be128a2a7427", "fields": { - "session_data": ".eJxVjEEOwiAQRe_C2hCoDKBL956BzAyDVA1NSrsy3l2bdKHb_977L5VwXWpau8xpzOqsvDr8boT8kLaBfMd2mzRPbZlH0puid9r1dcryvOzu30HFXr-1eLAeTg4ymWLEhwwETogKe7YmBBwiW4vHQayLxB7RYXauhAgCCOr9AennOCw:1noWk6:qMUi_RrH827urayQL-oOaSVTQWNGdKP8s6TLThYq0HM", - "expire_date": "2022-05-24T20:46:02.514Z" + "user": 5, + "created": "2024-03-14T15:21:04.318Z" } }, { - "model": "sessions.session", - "pk": "cuh93ef9py0gyskhvg20jm2tlvfr67u6", + "model": "authtoken.token", + "pk": "39182da8b9e634803d3dacb0b1858fb89f0db8ce", "fields": { - "session_data": ".eJxVjEEOwiAQRe_C2hCoDKBL956BzAyDVA1NSrsy3l2bdKHb_977L5VwXWpau8xpzOqsvDr8boT8kLaBfMd2mzRPbZlH0puid9r1dcryvOzu30HFXr-1eLAeTg4ymWLEhwwETogKe7YmBBwiW4vHQayLxB7RYXauhAgCCOr9AennOCw:1noWs5:B78XeRd4tP8TOd87u42iEAAp5wRdfJPTX4V0yufvaIU", - "expire_date": "2022-05-24T20:54:17.321Z" + "user": 3, + "created": "2024-03-14T15:20:51.567Z" } }, { - "model": "sessions.session", - "pk": "i0lap3hqse57qz5wmrbuoivfja2c66e9", - "fields": { - "session_data": ".eJxVjEEOwiAQRe_C2pCRwiAu3fcMBJhBqgaS0q6Md7dNutDtf-_9t_BhXYpfO89-InEVWpx-txjSk-sO6BHqvcnU6jJPUe6KPGiXYyN-3Q7376CEXrZ6AOcAdLIZUJtM0RoeOGcYABHOREEhW5U1XxyhwYS8ydGSMhYokvh8AdKJN94:1riLgw:3i3RhIDDSJfM85xVrDM2uoYVempEOWB4nkw-GbA_ct0", - "expire_date": "2024-03-21T21:54:18.431Z" - } - }, - { - "model": "sessions.session", - "pk": "mun3kmvefd3yvouew9h0i5sb5gldyyxp", - "fields": { - "session_data": ".eJxVjEEOwiAQRe_C2hCoDKBL956BzAyDVA1NSrsy3l2bdKHb_977L5VwXWpau8xpzOqsvDr8boT8kLaBfMd2mzRPbZlH0puid9r1dcryvOzu30HFXr-1eLAeTg4ymWLEhwwETogKe7YmBBwiW4vHQayLxB7RYXauhAgCCOr9AennOCw:1o6KH3:MzYA7DmMSpebSMTKgHH3V8cqMYWzDFvpcW80C7z_gZY", - "expire_date": "2022-07-12T23:05:37.317Z" - } - }, - { - "model": "api.bco", - "pk": 1, - "fields": { - "contents": { - "object_id": "http://127.0.0.1:8000/BCO_000000/DRAFT", - "spec_version": "https://w3id.org/ieee/ieee-2791-schema/2791object.json", - "etag": "0275321b6011324035289a5624c635ce5490fbdec588aa5f3bcaf63b85369b4a", - "provenance_domain": { - "name": "Influenza A reference gene sequences", - "version": "1.0", - "created": "2021-12-01T15:20:13.614Z", - "modified": "2022-06-28T23:10:12.804Z", - "review": [], - "contributors": [ - { - "contribution": [ - "createdBy", - "authoredBy", - "curatedBy", - "importedBy", - "contributedBy" - ], - "name": "Stephanie Singleton", - "affiliation": "The George Washington University ", - "email": "ssingleton@gwu.edu" - }, - { - "contribution": [ - "createdBy" - ], - "name": "Jonathon Keeney", - "affiliation": "The George Washington University ", - "email": "keeneyjg@gwu.edu" - } - ], - "license": "MIT" - }, - "usability_domain": [ - "Influenza A (A/Puerto Rico/8/1934 H1N1) reference protein coding sequences.", - "Cross reference to genes was retrieved using mappings present in proteins that were retrieved using UniProt proteome ID (UniProt ID: UP000009255; strain A/Puerto Rico/8/1934 H1N1). This set was chosen based on UniProt curation emphasis and community use. The primary use case for this data set is to visualize how protein annotations related to drug resistance mutations, selection pressure and more map to gene sequences. " - ], - "description_domain": { - "keywords": [ - "Influenza A, Complete Genome, FASTA, Genes" - ], - "platform": [], - "pipeline_steps": [ - { - "step_number": 0, - "name": "Download files from UniProt", - "description": "Download all files associated with the Influenza A reference genome (influenza A, UP000009255) into the ARGOS Dev server Downloads folder. While logged into the server, execute the following commands: wget ftp://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/reference_proteomes/Viruses/UP000009255/*. One of the files acquired through this step and necessary for generating a new data set is 'UP000009255_211044_DNA.fasta.gz'. Then execute 'gunzip *.gz' to unzip all the files in the downloads folder. The file name is then changed to 'UP000009255_211044_DNA.fasta' in the downloads folder.", - "prerequisite": [ - { - "name": "UniProt reference page ", - "uri": { - "uri": "ftp://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/reference_proteomes/Viruses/UP000009255/", - "access_time": "2021-12-01T15:20:13.614Z" - } - } - ], - "input_list": [ - { - "uri": "ftp://argosdb-vm-dev/data/shared/argosdb/downloads/uniprot/v1.0/influenza_a/UP000009255_211044_DNA.fasta.gz", - "filename": "UP000009255_211044_DNA.fasta.gz", - "access_time": "2021-12-01T15:20:13.614Z" - } - ], - "output_list": [ - { - "uri": "ftp://argosdb-vm-dev/data/shared/argosdb/downloads/uniprot/v1.0/influenza_a/UP000009255_211044_DNA.fasta", - "filename": "UP000009255_211044_DNA.fasta", - "access_time": "2021-12-01T15:20:13.614Z" - } - ], - "version": "1.1" - }, - { - "step_number": 0, - "name": "Run the recipe created to process this fasta file, review the newly generated dataset, and change the name of the file for clarity", - "description": "This step will use a recipe and a python script to generate a new dataset. The recipe tells the python script how and what to construct. This dataset will then be then moved in the 'unreviewed' folder in the dev argosdb server, it will be manually reviewed, and then the name of the file will be changed for clarity and tracking purposes - this is prefered. \\nMake sure you are located in the correct folder to run the script (/software/argosdb/dataset-maker). Use the following command to run the recipe and the python script: ‘python3 make-dataset.py -i recipes/influenza_UP000009255_genome_sequences.json’. Next, go to the ‘unreviewed’ folder to review the newly generated dataset ‘UP000009255_211044_DNA.fasta’. Once reviewed and approved, move the file to the ‘reviewed’ folder. Lastly, once in the ‘reviewed’ folder, change the name of the file to: ‘ influenza_UP000009255_211044_DNA.fasta’", - "prerequisite": [ - { - "name": "Dataset-maker python script", - "uri": { - "uri": "ftp://argosdb-vm-dev/software/argosdb/make-dataset.py", - "filename": "make-dataset.py" - } - }, - { - "name": "Influenza genome FASTA recipe", - "uri": { - "uri": "ftp://argosdb-vm-dev/data/shared/argosdb/generated/datasets/recipes/Influenza/influenza_UP000009255_genome_sequences.json", - "filename": "influenza_UP000009255_genome_sequences.json" - } - } - ], - "input_list": [ - { - "uri": "ftp://argosdb-vm-dev/data/shared/argosdb/downloads/uniprot/v1.0/influenza_a/UP000009255_211044_DNA.fasta", - "filename": "UP000009255_211044_DNA.fasta", - "access_time": "2021-12-01T15:20:13.614Z" - } - ], - "output_list": [ - { - "uri": "ftp://argosdb-vm-dev/data/shared/argosdb/generated/datasets/reviewed/influenza_UP000009255_211044_DNA.fasta", - "filename": "influenza_UP000009255_211044_DNA.fasta", - "access_time": "2021-12-01T15:20:13.614Z" - } - ], - "version": "1.1" - } - ] - }, - "execution_domain": { - "script": [ - { - "uri": { - "uri": "ftp://argosdb-vm-dev/software/argosdb/make-dataset.py", - "filename": "make-dataset.py" - } - } - ], - "script_driver": "python3", - "software_prerequisites": [ - { - "name": "Python", - "version": "3", - "uri": { - "uri": "https://www.python.org/ftp/python/3.10.0/python-3.10.0-amd64.exe", - "filename": "" - } - } - ], - "external_data_endpoints": [ - { - "name": "python-3.10.0", - "url": "https://www.python.org/ftp/python/3.10.0/python-3.10.0-amd64.exe" - } - ], - "environment_variables": {} - }, - "io_domain": { - "input_subdomain": [ - { - "uri": { - "uri": "http://data.argosdb.org/ln2downloads/uniprot/v1.0/UP000009255_211044_DNA.fasta", - "filename": "UP000009255_211044_DNA.fasta" - } - } - ], - "output_subdomain": [ - { - "mediatype": "text/plain", - "uri": { - "uri": "http://data.argosdb.org/ln2data/uniprot/v1.0/UP000009255_211044_DNA.fasta", - "filename": "UP000009255_211044_DNA.fasta" - } - } - ] - }, - "parametric_domain": [], - "extension_domain": [ - { - "extension_schema": "http://www.w3id.org/biocompute/extension_domain/1.1.0/dataset/dataset_extension.json", - "dataset_extension": { - "additional_license": { - "data_license": "https://creativecommons.org/licenses/by/4.0/", - "script_license": "https://www.gnu.org/licenses/gpl-3.0.en.html" - }, - "dataset_categories": [ - { - "category_value": "Influenza A", - "category_name": "species" - }, - { - "category_value": "nucleotide", - "category_name": "molecule" - }, - { - "category_value": "Influenza A", - "category_name": "tag" - }, - { - "category_value": "fasta", - "category_name": "file_type" - }, - { - "category_value": "reviewed", - "category_name": "status" - }, - { - "category_value": "internal", - "category_name": "scope" - } - ] - } - } - ] - }, - "object_class": "", - "object_id": "http://127.0.0.1:8000/BCO_000000/DRAFT", - "owner_group": "bco_drafter", - "owner_user": "bco_api_user", - "prefix": "BCO", - "schema": "IEEE", - "state": "DRAFT", - "last_update": "2022-06-28T23:10:17.996Z" - } - }, - { - "model": "api.bco", - "pk": 2, - "fields": { - "contents": { - "object_id": "http://127.0.0.1:8000/BCO_000001/DRAFT", - "spec_version": "https://w3id.org/ieee/ieee-2791-schema/2791object.json", - "etag": "11ee4c3b8a04ad16dcca19a6f478c0870d3fe668ed6454096ab7165deb1ab8ea", - "provenance_domain": { - "name": "HCV1a ledipasvir resistance SNP detection", - "version": "1.0", - "created": "2017-01-24T09:40:17-0500", - "modified": "2022-06-28T23:12:50.369Z", - "review": [ - { - "status": "approved", - "reviewer_comment": "Approved by GW staff. Waiting for approval from FDA Reviewer", - "date": "2017-11-12T12:30:48-0400", - "reviewer": { - "name": "Charles Hadley King", - "affiliation": "George Washington University", - "email": "hadley_king@gwu.edu", - "contribution": [ - "curatedBy" - ], - "orcid": "https://orcid.org/0000-0003-1409-4549" - } - }, - { - "status": "approved", - "reviewer_comment": "The revised BCO looks fine", - "date": "2017-12-12T12:30:48-0400", - "reviewer": { - "name": "Eric Donaldson", - "affiliation": "FDA", - "email": "Eric.Donaldson@fda.hhs.gov", - "contribution": [ - "curatedBy" - ] - } - } - ], - "contributors": [ - { - "name": "Charles Hadley King", - "affiliation": "George Washington University", - "email": "hadley_king@gwu.edu", - "contribution": [ - "createdBy", - "curatedBy" - ], - "orcid": "https://orcid.org/0000-0003-1409-4549" - }, - { - "name": "Eric Donaldson", - "affiliation": "FDA", - "email": "Eric.Donaldson@fda.hhs.gov", - "contribution": [ - "authoredBy" - ] - } - ], - "license": "https://spdx.org/licenses/CC-BY-4.0.html" - }, - "usability_domain": [ - "Identify baseline single nucleotide polymorphisms (SNPs)[SO:0000694], (insertions)[SO:0000667], and (deletions)[SO:0000045] that correlate with reduced (ledipasvir)[pubchem.compound:67505836] antiviral drug efficacy in (Hepatitis C virus subtype 1)[taxonomy:31646]", - "Identify treatment emergent amino acid (substitutions)[SO:1000002] that correlate with antiviral drug treatment failure", - "Determine whether the treatment emergent amino acid (substitutions)[SO:1000002] identified correlate with treatment failure involving other drugs against the same virus", - "GitHub CWL example: https://github.com/mr-c/hive-cwl-examples/blob/master/workflow/hive-viral-mutation-detection.cwl#L20" - ], - "description_domain": { - "keywords": [ - "HCV1a", - "Ledipasvir", - "antiviral resistance", - "SNP", - "amino acid substitutions" - ], - "platform": [ - "HIVE" - ], - "pipeline_steps": [ - { - "step_number": 1, - "name": "HIVE-hexagon", - "description": "Alignment of reads to a set of references", - "version": "1.3", - "prerequisite": [ - { - "name": "Hepatitis C virus genotype 1", - "uri": { - "uri": "http://www.ncbi.nlm.nih.gov/nuccore/22129792", - "access_time": "2017-01-24T09:40:17-0500" - } - }, - { - "name": "Hepatitis C virus type 1b complete genome", - "uri": { - "uri": "http://www.ncbi.nlm.nih.gov/nuccore/5420376", - "access_time": "2017-01-24T09:40:17-0500" - } - }, - { - "name": "Hepatitis C virus (isolate JFH-1) genomic RNA", - "uri": { - "uri": "http://www.ncbi.nlm.nih.gov/nuccore/13122261", - "access_time": "2017-01-24T09:40:17-0500" - } - }, - { - "name": "Hepatitis C virus clone J8CF, complete genome", - "uri": { - "uri": "http://www.ncbi.nlm.nih.gov/nuccore/386646758", - "access_time": "2017-01-24T09:40:17-0500" - } - }, - { - "name": "Hepatitis C virus S52 polyprotein gene", - "uri": { - "uri": "http://www.ncbi.nlm.nih.gov/nuccore/295311559", - "access_time": "2017-01-24T09:40:17-0500" - } - } - ], - "input_list": [ - { - "uri": "http://example.com/dna.cgi?cmd=objFile&ids=514683", - "access_time": "2017-01-24T09:40:17-0500" - }, - { - "uri": "http://example.com/dna.cgi?cmd=objFile&ids=514682", - "access_time": "2017-01-24T09:40:17-0500" - } - ], - "output_list": [ - { - "uri": "http://example.com/data/514769/allCount-aligned.csv", - "access_time": "2017-01-24T09:40:17-0500" - } - ] - }, - { - "step_number": 2, - "name": "HIVE-heptagon", - "description": "variant calling", - "version": "1.3", - "input_list": [ - { - "uri": "http://example.com/data/514769/dnaAccessionBased.csv", - "access_time": "2017-01-24T09:40:17-0500" - } - ], - "output_list": [ - { - "uri": "http://example.com/data/514801/SNPProfile.csv", - "access_time": "2017-01-24T09:40:17-0500" - }, - { - "uri": "http://example.com/data/14769/allCount-aligned.csv", - "access_time": "2017-01-24T09:40:17-0500" - } - ] - } - ] - }, - "execution_domain": { - "script": [ - { - "uri": { - "uri": "https://example.com/workflows/antiviral_resistance_detection_hive.py" - } - } - ], - "script_driver": "shell", - "software_prerequisites": [ - { - "name": "HIVE-hexagon", - "version": "babajanian.1", - "uri": { - "uri": "http://example.com/dna.cgi?cmd=dna-hexagon&cmdMode=-", - "access_time": "2017-01-24T09:40:17-0500", - "sha1_checksum": "d60f506cddac09e9e816531e7905ca1ca6641e3c" - } - }, - { - "name": "HIVE-heptagon", - "version": "albinoni.2", - "uri": { - "uri": "http://example.com/dna.cgi?cmd=dna-heptagon&cmdMode=-", - "access_time": "2017-01-24T09:40:17-0500" - } - } - ], - "external_data_endpoints": [ - { - "name": "HIVE", - "url": "http://example.com/dna.cgi?cmd=login" - }, - { - "name": "access to e-utils", - "url": "http://eutils.ncbi.nlm.nih.gov/entrez/eutils/" - } - ], - "environment_variables": { - "HOSTTYPE": "x86_64-linux", - "EDITOR": "vim" - } - }, - "io_domain": { - "input_subdomain": [ - { - "uri": { - "filename": "Hepatitis C virus genotype 1", - "uri": "http://www.ncbi.nlm.nih.gov/nuccore/22129792", - "access_time": "2017-01-24T09:40:17-0500" - } - }, - { - "uri": { - "filename": "Hepatitis C virus type 1b complete genome", - "uri": "http://www.ncbi.nlm.nih.gov/nuccore/5420376", - "access_time": "2017-01-24T09:40:17-0500" - } - }, - { - "uri": { - "filename": "Hepatitis C virus (isolate JFH-1) genomic RNA", - "uri": "http://www.ncbi.nlm.nih.gov/nuccore/13122261", - "access_time": "2017-01-24T09:40:17-0500" - } - }, - { - "uri": { - "uri": "http://www.ncbi.nlm.nih.gov/nuccore/386646758", - "access_time": "2017-01-24T09:40:17-0500" - } - }, - { - "uri": { - "filename": "Hepatitis C virus S52 polyprotein gene", - "uri": "http://www.ncbi.nlm.nih.gov/nuccore/295311559", - "access_time": "2017-01-24T09:40:17-0500" - } - }, - { - "uri": { - "filename": "HCV1a_drug_resistant_sample0001-01", - "uri": "http://example.com/nuc-read/514682", - "access_time": "2017-01-24T09:40:17-0500" - } - }, - { - "uri": { - "filename": "HCV1a_drug_resistant_sample0001-02", - "uri": "http://example.com/nuc-read/514683", - "access_time": "2017-01-24T09:40:17-0500" - } - } - ], - "output_subdomain": [ - { - "mediatype": "text/csv", - "uri": { - "uri": "http://example.com/data/514769/dnaAccessionBased.csv", - "access_time": "2017-01-24T09:40:17-0500" - } - }, - { - "mediatype": "text/csv", - "uri": { - "uri": "http://example.com/data/514801/SNPProfile*.csv", - "access_time": "2017-01-24T09:40:17-0500" - } - } - ] - }, - "parametric_domain": [ - { - "param": "seed", - "value": "14", - "step": "1" - }, - { - "param": "minimum_match_len", - "value": "66", - "step": "1" - }, - { - "param": "divergence_threshold_percent", - "value": "0.30", - "step": "1" - }, - { - "param": "minimum_coverage", - "value": "15", - "step": "2" - }, - { - "param": "freq_cutoff", - "value": "0.10", - "step": "2" - } - ], - "error_domain": { - "empirical_error": { - "false_negative_alignment_hits": "<0.0010", - "false_discovery": "<0.05" - }, - "algorithmic_error": { - "false_positive_mutation_calls_discovery": "<0.00005", - "false_discovery": "0.005" - } - }, - "extension_domain": [ - { - "extension_schema": "https://raw.githubusercontent.com/biocompute-objects/extension_domain/1.1.0/fhir/fhir_extension.json", - "fhir_extension": [ - { - "fhir_endpoint": "http://fhirtest.uhn.ca/baseDstu3", - "fhir_version": "3", - "fhir_resources": [ - { - "fhir_resource": "Sequence", - "fhir_id": "21376" - }, - { - "fhir_resource": "DiagnosticReport", - "fhir_id": "6288583" - }, - { - "fhir_resource": "ProcedureRequest", - "fhir_id": "25544" - }, - { - "fhir_resource": "Observation", - "fhir_id": "92440" - }, - { - "fhir_resource": "FamilyMemberHistory", - "fhir_id": "4588936" - } - ] - } - ] - }, - { - "extension_schema": "https://raw.githubusercontent.com/biocompute-objects/extension_domain/1.1.0/scm/scm_extension.json", - "scm_extension": { - "scm_repository": "https://github.com/example/repo1", - "scm_type": "git", - "scm_commit": "c9ffea0b60fa3bcf8e138af7c99ca141a6b8fb21", - "scm_path": "workflow/hive-viral-mutation-detection.cwl", - "scm_preview": "https://github.com/example/repo1/blob/c9ffea0b60fa3bcf8e138af7c99ca141a6b8fb21/workflow/hive-viral-mutation-detection.cwl" - } - } - ] - }, - "object_class": "", - "object_id": "http://127.0.0.1:8000/BCO_000001/DRAFT", - "owner_group": "bco_drafter", - "owner_user": "test50", - "prefix": "BCO", - "schema": "IEEE", - "state": "DRAFT", - "last_update": "2022-06-28T23:13:13.841Z" - } - }, - { - "model": "api.bco", - "pk": 3, - "fields": { - "contents": { - "object_id": "http://127.0.0.1:8000/BCO_000002/DRAFT", - "spec_version": "https://w3id.org/ieee/ieee-2791-schema/2791object.json", - "etag": "caed07395b6afb58c8810d174a315260124f687740bc3bb14387de5e84c7e3d4", - "provenance_domain": { - "name": "Healthy human fecal metagenomic diversity", - "version": "1.0", - "created": "2018-11-29T11:29:08-0500", - "modified": "2022-06-28T23:19:38.283Z", - "review": [ - { - "status": "approved", - "reviewer_comment": "Approved by GW staff.", - "reviewer": { - "name": "Charles Hadley King", - "affiliation": "George Washington University", - "email": "hadley_king@gwu.edu", - "contribution": [ - "curatedBy" - ], - "orcid": "https://orcid.org/0000-0003-1409-4549" - } - } - ], - "contributors": [ - { - "name": "Charles Hadley King", - "affiliation": "George Washington University", - "email": "hadley_king@gwu.edu", - "contribution": [ - "createdBy", - "curatedBy", - "authoredBy" - ], - "orcid": "https://orcid.org/0000-0003-1409-4549" - }, - { - "name": "Raja Mazumder", - "affiliation": "George Washington University", - "email": "mazumder@gwu.edu", - "contribution": [ - "createdBy", - "curatedBy", - "authoredBy" - ], - "orcid": "https://orcid.org/0000-0001-88238-9945" - } - ], - "license": "https://spdx.org/licenses/CC-BY-4.0.html" - }, - "usability_domain": [ - "Identify the most common organism present in a human [taxID:9606] fecal [UBERON:0001988] sample, ", - "Identify the general community composition of organisms in a human [taxID:9606] fecal [UBERON:0001988] sample, ", - "CensuScope is used to do a census of the composition of the read files. Based on a user-defined threshold, organisms identified are used for alignment in the Hexagon alignment." - ], - "description_domain": { - "keywords": [ - "metagenome", - "metagenomic analysis", - "fecal" - ], - "platform": [ - "hive" - ], - "pipeline_steps": [ - { - "step_number": 1, - "name": "CensuScope", - "description": "Detect taxonomic composition of a metagenomic data set.", - "version": "1.3", - "prerequisite": [ - { - "name": "Filtered_NT_feb18_2016", - "uri": { - "uri": "https://hive.biochemistry.gwu.edu/genome/513957", - "access_time": "2016-11-30T06:46-0500" - } - } - ], - "input_list": [ - { - "uri": "https://hive.biochemistry.gwu.edu/nuc-read/545722", - "access_time": "2016-11-30T06:46-0500" - }, - { - "uri": "https://hive.biochemistry.gwu.edu/nuc-read/545721", - "access_time": "2016-11-30T06:46-0500" - } - ], - "output_list": [ - { - "uri": "https://hive.biochemistry.gwu.edu/546223/dnaAccessionBasedResult.csv", - "access_time": "2016-11-30T06:46-0500" - } - ] - }, - { - "step_number": 2, - "name": "HIVE-hexagon", - "description": "Alignment of reads to a set of references", - "version": "1.3", - "input_list": [ - { - "uri": "http://example.com/data/546223/dnaAccessionBased.csv", - "access_time": "2016-11-30T06:46-0500" - }, - { - "uri": "https://hive.biochemistry.gwu.edu/nuc-read/545722", - "access_time": "2016-11-30T06:46-0500" - }, - { - "uri": "https://hive.biochemistry.gwu.edu/nuc-read/545721", - "access_time": "2016-11-30T06:46-0500" - } - ], - "output_list": [ - { - "uri": "https://hive.biochemistry.gwu.edu/546232/alCount-Unalignedo524569-alCount--1.csv", - "access_time": "2016-11-30T06:46-0500" - } - ] - } - ] - }, - "execution_domain": { - "script": [ - { - "uri": { - "uri": "https://github.com/biocompute-objects/HIVE_metagenomics/blob/master/driverHIVEmetagenomic.py" - } - } - ], - "script_driver": "shell", - "software_prerequisites": [ - { - "name": "CensuScope", - "version": "albinoni.2", - "uri": { - "uri": "http://example.com/dna.cgi?cmd=dna-screening&cmdMode=-", - "access_time": "2017-01-24T09:40:17-0500" - } - }, - { - "name": "HIVE-hexagon", - "version": "babajanian.1", - "uri": { - "uri": "http://example.com/dna.cgi?cmd=dna-hexagon&cmdMode=-", - "access_time": "2017-01-24T09:40:17-0500" - } - } - ], - "external_data_endpoints": [ - { - "name": "HIVE", - "url": "https://hive.biochemistry.gwu.edu/dna.cgi?cmd=login" - }, - { - "name": "access to e-utils", - "url": "http://eutils.ncbi.nlm.nih.gov/entrez/eutils/" - } - ], - "environment_variables": { - "key": "HOSTTYPE", - "value": "x86_64-linux" - } - }, - "io_domain": { - "input_subdomain": [ - { - "uri": { - "filename": "Hepatitis C virus genotype 1", - "uri": "http://www.ncbi.nlm.nih.gov/nuccore/22129792", - "access_time": "2017-01-24T09:40:17-0500" - } - }, - { - "uri": { - "filename": "Hepatitis C virus type 1b complete genome", - "uri": "http://www.ncbi.nlm.nih.gov/nuccore/5420376", - "access_time": "2017-01-24T09:40:17-0500" - } - }, - { - "uri": { - "filename": "Hepatitis C virus (isolate JFH-1) genomic RNA", - "uri": "http://www.ncbi.nlm.nih.gov/nuccore/13122261", - "access_time": "2017-01-24T09:40:17-0500" - } - }, - { - "uri": { - "filename": "Hepatitis C virus clone J8CF, complete genome", - "uri": "http://www.ncbi.nlm.nih.gov/nuccore/386646758", - "access_time": "2017-01-24T09:40:17-0500" - } - }, - { - "uri": { - "filename": "Hepatitis C virus S52 polyprotein gene", - "uri": "http://www.ncbi.nlm.nih.gov/nuccore/295311559", - "access_time": "2017-01-24T09:40:17-0500" - } - }, - { - "uri": { - "filename": "HCV1a_drug_resistant_sample0001-01", - "uri": "http://example.com/nuc-read/514682", - "access_time": "2017-01-24T09:40:17-0500" - } - }, - { - "uri": { - "filename": "HCV1a_drug_resistant_sample0001-02", - "uri": "http://example.com/nuc-read/514683", - "access_time": "2017-01-24T09:40:17-0500" - } - } - ], - "output_subdomain": [ - { - "mediatype": "text/csv", - "uri": { - "uri": "http://example.com/data/514769/dnaAccessionBased.csv", - "access_time": "2017-01-24T09:40:17-0500" - } - }, - { - "mediatype": "text/csv", - "uri": { - "uri": "http://example.com/data/514801/SNPProfile*.csv", - "access_time": "2017-01-24T09:40:17-0500" - } - } - ] - }, - "parametric_domain": [ - { - "param": "seed", - "value": "14", - "step": "2" - }, - { - "param": "minimum_match_len", - "value": "66", - "step": "2" - }, - { - "param": "divergence_threshold_percent", - "value": "0.30", - "step": "2" - }, - { - "param": "minimum_coverage", - "value": "15", - "step": "2" - }, - { - "param": "freq_cutoff", - "value": "0.10", - "step": "2" - } - ], - "error_domain": { - "empirical_error": { - "false_negative_alignment_hits": "<0.0010", - "false_discovery": "<0.05" - }, - "algorithmic_error": { - "false_positive_mutation_calls_discovery": "<0.00005", - "false_discovery": "0.005" - } - }, - "extension_domain": [ - { - "extension_schema": "https://raw.githubusercontent.com/biocompute-objects/extension_domain/1.1.0/scm/scm_extension.json", - "scm_extension": { - "scm_repository": "https://github.com/biocompute-objects/HIVE_metagenomics", - "scm_type": "git", - "scm_commit": "e4620f642fb20557f6c679397696614305ed07b1", - "scm_path": "biocompute-objects/HIVE_metagenomics", - "scm_preview": "https://github.com/example/repo1/blob/c9ffea0b60fa3bcf8e138af7c99ca141a6b8fb21/workflow/hive-viral-mutation-detection.cwl" - } - } - ] - }, - "object_class": "", - "object_id": "http://127.0.0.1:8000/BCO_000002/DRAFT", - "owner_group": "bco_drafter", - "owner_user": "hivelab37", - "prefix": "BCO", - "schema": "IEEE", - "state": "DRAFT", - "last_update": "2022-06-28T23:19:53.937Z" - } - }, - { - "model": "api.bco", - "pk": 4, - "fields": { - "contents": { - "object_id": "http://127.0.0.1:8000/BCO_000003/DRAFT", - "spec_version": "https://w3id.org/ieee/ieee-2791-schema/2791object.json", - "etag": "2d96bb6e18aed202332d66f4ef9f909cf419d72bd33af6833957ad372d8f7d1f", - "provenance_domain": { - "name": "SARS-CoV-2 reference proteome sequences", - "version": "1.0", - "created": "2021-12-16T21:06:50.969977Z", - "modified": "2022-06-28T23:21:47.218Z", - "review": [], - "contributors": [ - { - "contribution": [ - "createdBy", - "authoredBy", - "curatedBy", - "importedBy", - "contributedBy" - ], - "name": "Stephanie Singleton", - "affiliation": "The George Washington University ", - "email": "ssingleton@gwu.edu" - }, - { - "contribution": [ - "createdBy" - ], - "name": "Jonathon Keeney", - "affiliation": "The George Washington University ", - "email": "keeneyjg@gwu.edu" - } - ], - "license": "MIT" - }, - "usability_domain": [ - "SARS-CoV-2 (Wuhan-Hu-1) reference proteome fasta sequences.", - "Data was retrieved using UniProt proteome ID (UniProt ID: UP000464024; Severe acute respiratory syndrome coronavirus 2 isolate Wuhan-Hu-1). This set was chosen based on UniProt curation emphasis and community use. The primary use case for this data set is to use the protein accessions and amino acid coordinates to refer to annotations related to drug resistance mutations, selection pressure and more." - ], - "description_domain": { - "keywords": [ - "SARS-CoV-2, COVID-19, Complete Proteome, FASTA, Proteins" - ], - "platform": [], - "pipeline_steps": [ - { - "step_number": 1, - "name": "Download all available files from UniProt", - "description": "Download all files associated with the SARS-Cov-2 reference genome (UniProt ID: UP000464024) into the ARGOS Dev server Downloads folder. While logged into the server, execute the following commands: wget ftp://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/reference_proteomes/Viruses/UP000464024/*. One of the files acquired through this step, and necessary for generating a new data set is 'UP000464024_2697049.fasta.gz'. Then execute 'gunzip *.gz' to unzip all the files in the downloads folder. The file name is then changed to 'UP000464024_2697049.fasta' in the downloads folder.", - "prerequisite": [ - { - "name": "UniProt reference page ", - "uri": { - "uri": "https://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/reference_proteomes/Viruses/UP000464024/", - "access_time": "2021-12-16T21:06:50.969977Z" - } - } - ], - "input_list": [ - { - "uri": "ftp://argosdb-vm-dev/data/shared/argosdb/downloads/uniprot/v1.0/sars_cov_2/UP000464024_2697049.fasta.gz", - "filename": "UP000464024_2697049.fasta.gz", - "access_time": "2021-12-16T21:06:50.969977Z" - } - ], - "output_list": [ - { - "uri": "ftp://argosdb-vm-dev/data/shared/argosdb/downloads/uniprot/v1.0/sars_cov_2/UP000464024_2697049.fasta", - "filename": "UP000464024_2697049.fasta", - "access_time": "2021-12-16T21:06:50.969977Z" - } - ], - "version": "1.0" - }, - { - "step_number": 2, - "name": "Run the recipe created to process this fasta file, review the newly generated dataset, and change the name of the file for clarity", - "description": "This step will use a recipe and a python script to generate a new dataset. The recipe tells the python script how and what to construct. This dataset will then be then moved in the 'unreviewed' folder in the dev argosdb server, it will be manually reviewed, and then the name of the file will be changed for clarity and tracking purposes - this is prefered. Make sure you are located in the correct folder to run the script (/software/argosdb/dataset-maker). Use the following command to run the recipe and the python script: ‘python3 make-dataset.py -i recipes/sars-cov-2_UP000464024_proteome_sequences.json’. Next, go to the ‘unreviewed’ folder to review the newly generated dataset ‘UP000464024_2697049.fasta’. Once reviewed and approved, move the file to the ‘reviewed’ folder. Lastly, once in the ‘reviewed’ folder, change the name of the file to: ‘sars-cov-2_UP000464024_2697049.fasta’", - "prerequisite": [ - { - "name": "Dataset-maker python script", - "uri": { - "uri": "ftp://argosdb-vm-dev/software/argosdb/make-dataset.py", - "filename": "make-dataset.py" - } - }, - { - "name": "SARS-CoV-2 genome FASTA recipe", - "uri": { - "uri": "ftp://argosdb-vm-dev/data/shared/argosdb//generated/datasets/recipes/sars-cov-2_UP000464024_proteome_sequences.json", - "filename": "sars-cov-2_UP000464024_proteome_sequences.json" - } - } - ], - "input_list": [ - { - "uri": "ftp://argosdb-vm-dev/data/shared/argosdb/downloads/uniprot/v1.0/sars_cov_2/UP000464024_2697049.fasta", - "filename": "UP000464024_2697049.fasta", - "access_time": "2021-12-16T21:06:50.969977Z" - } - ], - "output_list": [ - { - "uri": "ftp://argosdb-vm-dev/data/shared/argosdb/generated/datasets/reviewed/sars-cov-2_UP000464024_2697049.fasta", - "filename": "sars-cov-2_UP000464024_2697049.fasta", - "access_time": "2021-12-16T21:06:50.969977Z" - } - ], - "version": "1.0" - } - ] - }, - "execution_domain": { - "script": [ - { - "uri": { - "uri": "ftp://argosdb-vm-dev/software/argosdb/make-dataset.py", - "filename": "make-dataset.py" - } - } - ], - "script_driver": "python3", - "software_prerequisites": [ - { - "name": "Python", - "version": "3.10.0", - "uri": { - "uri": "https://www.python.org/ftp/python/3.10.0/python-3.10.0-amd64.exe", - "filename": "" - } - } - ], - "external_data_endpoints": [ - { - "name": "python-3.10.0", - "url": "https://www.python.org/ftp/python/3.10.0/python-3.10.0-amd64.exe" - } - ], - "environment_variables": {} - }, - "io_domain": { - "input_subdomain": [ - { - "uri": { - "uri": "http://data.argosdb.org/ln2downloads/uniprot/v1.0/UP000464024_2697049.fasta", - "filename": "UP000464024_2697049.fasta.gz" - } - } - ], - "output_subdomain": [ - { - "mediatype": "text/plain", - "uri": { - "uri": "http://data.argosdb.org/ln2data/uniprot/v1.0/UP000464024_2697049.fasta", - "filename": "UP000464024_2697049.fasta" - } - } - ] - }, - "parametric_domain": [], - "extension_domain": [ - { - "extension_schema": "http://www.w3id.org/biocompute/extension_domain/1.2.0/dataset/dataset_extension.json", - "dataset_extension": { - "additional_license": { - "data_license": "https://creativecommons.org/licenses/by/4.0/", - "script_license": "https://www.gnu.org/licenses/gpl-3.0.en.html" - }, - "dataset_categories": [ - { - "category_value": "SARS-CoV-2", - "category_name": "species" - }, - { - "category_value": "protein", - "category_name": "molecule" - }, - { - "category_value": "SARS-CoV-2", - "category_name": "tag" - }, - { - "category_value": "fasta", - "category_name": "file_type" - }, - { - "category_value": "non-core", - "category_name": "priority" - }, - { - "category_value": "reviewed", - "category_name": "status" - }, - { - "category_value": "internal", - "category_name": "scope" - } - ] - } - } - ] - }, - "object_class": "", - "object_id": "http://127.0.0.1:8000/BCO_000003/DRAFT", - "owner_group": "bco_drafter", - "owner_user": "jdoe58", - "prefix": "BCO", - "schema": "IEEE", - "state": "DRAFT", - "last_update": "2022-06-28T23:21:56.878Z" - } - }, - { - "model": "api.bco", - "pk": 5, - "fields": { - "contents": { - "object_id": "http://127.0.0.1:8000/TEST_000001/DRAFT", - "spec_version": "https://w3id.org/ieee/ieee-2791-schema/2791object.json", - "etag": "998f0b8a499bd88952f945367c17d62e95611c9d026fb0713b84a5fa9bfb745d", - "provenance_domain": { - "name": "ARGOSdb QC related annotation data property list", - "version": "1.2", - "created": "2022-02-07T17:36:05.872Z", - "modified": "2022-06-28T23:44:49.394Z", - "contributors": [ - { - "contribution": [ - "createdBy", - "authoredBy", - "contributedBy" - ], - "name": "Charles Hadley King", - "affiliation": "George Washington University", - "email": "hadley_king@gwu.edu", - "orcid": "https://orcid.org/0000-0003-1409-4549" - }, - { - "contribution": [ - "curatedBy", - "contributedBy" - ], - "name": "Stephanie Singleton", - "affiliation": "The George Washington University ", - "email": "ssingleton@gwu.edu" - }, - { - "contribution": [ - "createdBy", - "curatedBy" - ], - "name": "Jonathon Keeney", - "affiliation": "The George Washington University ", - "email": "keeneyjg@gwu.edu" - }, - { - "name": "Raja Mazumder", - "contribution": [ - "curatedBy" - ], - "affiliation": "The George Washington University ", - "email": "mazumder@gwu.edu", - "orcid": "https://orcid.org/0000-0001-8823-9945" - } - ], - "license": "https://github.com/FDA-ARGOS/data.argosdb/blob/v0.4_Feb/LICENSE" - }, - "usability_domain": [ - "List of controlled vocabulary terms for ARGOSdb annotation and metadata table data properties.", - "This sheet was created to aid in the integration of ARGOS data from many disparate sources. Each of the column headers in each of the respective data sheets displayed on www.data.argosdb.org was recommended by project members and collaborators from the FDA. The resulting list was manually curated to combine similar terms, and provide a consistent representation across all datasets in ARGOSdb.", - "The final result here is a list of properties and descriptive information about the property. The following are the column headers and their meaning: Property - consensus name for data property described in row. Data Object Type - The dataset this property is used in. Optional/Required - indicates if the property is REQUIRED to hava a valid data row. $id - For JSON schema conversion. Title - Human readable name for property. Default is the same as property. Type - property type as defined by JSON types. default - a default value for property. examples - and example for the property. pattern - the regular expression evaluation for this property. description - A definition and additional information about the property.", - "The primary use case for this property definition list is to ensure all data submitted to data.argosdb.org is following a consistent representation, and adhears to a controlled vocabulary of data properties." - ], - "description_domain": { - "keywords": [ - "curation", - "definitions", - "ontology", - "controlled vocabulary" - ], - "platform": [], - "pipeline_steps": [ - { - "step_number": 1, - "name": "Header download", - "description": "Create a text file with the headers from each data sheet published for v0.3. Using the command `head -1 > ~/headers.txt`", - "prerequisite": [], - "input_list": [ - { - "uri": "http://data.argosdb.org/ln2downloads/argosdb_qc/02_15_2022/SRA_ngsQC.tsv", - "filename": "SRA_ngsQC.tsv" - }, - { - "uri": "http://data.argosdb.org/ln2downloads/argosdb_qc/02_15_2022/PRJNA231221_AssemblyUpdated.tsv", - "filename": "PRJNA231221_AssemblyUpdated.tsv" - }, - { - "uri": "http://data.argosdb.org/ln2downloads/argosdb_qc/02_15_2022/sars-cov-2_lineage_mutations.tsv", - "filename": "sars-cov-2_lineage_mutations.tsv" - } - ], - "output_list": [ - { - "uri": "https://argosdb-vm-dev/software/argosdb/home/headers.txt", - "filename": "headers.txt" - } - ] - }, - { - "step_number": 2, - "name": "Manual Curation", - "description": "Manual curation of headers.txt into a curated list of terms with definitions.", - "prerequisite": [], - "input_list": [ - { - "uri": "https://argosdb-vm-dev/software/argosdb/home/headers.txt" - } - ], - "output_list": [ - { - "uri": "https://data.argosdb.org/ ln2data/02_15_2022/annotation_property_list.tsv", - "access_time": "2022-02-03T13:42:44-0500", - "filename": "annotation_property_list.tsv" - } - ] - } - ] - }, - "execution_domain": { - "script": [ - { - "uri": { - "uri": "https://docs.google.com/spreadsheets/d/1EbHiGSmv6ZTGk6erQCl1oH8ye7EFuQPwKfWS5_7Cn60/edit#gid=0", - "filename": "FINAL_v0.3_argos_dict" - } - } - ], - "script_driver": "Google Drive/Sheets", - "software_prerequisites": [ - { - "name": "Microsof Excel", - "version": "16.57", - "uri": { - "uri": "https://www.microsoft.com/en-us/microsoft-365/excel" - } - } - ], - "external_data_endpoints": [ - { - "name": "data.ARGOSdb.org", - "url": "data.ARGOSdb.org" - }, - { - "name": "Google Drive", - "url": "https://drive.google.com/drive/u/3/folders/1uUa4UYG3dd6yTOdxiyoav6qktit4-J-9" - } - ], - "environment_variables": {} - }, - "io_domain": { - "input_subdomain": [ - { - "uri": { - "uri": "http://data.argosdb.org/ln2downloads/argosdb_qc/02_15_2022/SRA_ngsQC.tsv", - "filename": "SRA_ngsQC.tsv" - } - }, - { - "uri": { - "uri": "http://data.argosdb.org/ln2downloads/argosdb_qc/02_15_2022/PRJNA231221_AssemblyUpdated.tsv", - "filename": "PRJNA231221_AssemblyUpdated.tsv" - } - }, - { - "uri": { - "uri": "http://data.argosdb.org/ln2downloads/argosdb_qc/02_15_2022/sars-cov-2_lineage_mutations.tsv", - "filename": "sars-cov-2_lineage_mutations.tsv" - } - } - ], - "output_subdomain": [ - { - "mediatype": "text/tsv", - "uri": { - "uri": "https://data.argosdb.org/ ln2data/02_15_2022/annotation_property_list.tsv", - "access_time": "2022-02-03T13:42:44-0500", - "filename": "annotation_property_list.tsv" - } - } - ] - }, - "parametric_domain": [], - "error_domain": { - "empirical_error": {}, - "algorithmic_error": {} - }, - "extension_domain": [ - { - "extension_schema": "http://www.w3id.org/biocompute/extension_domain/1.2.0/dataset/dataset_extension.json", - "dataset_extension": { - "additional_license": { - "data_license": "https://creativecommons.org/licenses/by/4.0/", - "script_license": "https://www.gnu.org/licenses/gpl-3.0.en.html" - }, - "dataset_categories": [ - { - "category_value": "Other", - "category_name": "species" - }, - { - "category_value": "Other", - "category_name": "molecule" - }, - { - "category_value": "non-core", - "category_name": "priority" - }, - { - "category_value": "Dictionary", - "category_name": "species" - }, - { - "category_value": "tsv", - "category_name": "file_type" - }, - { - "category_value": "reviewed", - "category_name": "status" - } - ] - } - } - ] - }, - "object_class": "", - "object_id": "http://127.0.0.1:8000/TEST_000001/DRAFT", - "owner_group": "test_drafter", - "owner_user": "test50", - "prefix": "TEST", - "schema": "IEEE", - "state": "DRAFT", - "last_update": "2022-06-28T23:44:58.149Z" - } - }, - { - "model": "api.bco", - "pk": 6, - "fields": { - "contents": { - "object_id": "http://127.0.0.1:8000/OTHER_000001/DRAFT", - "spec_version": "https://w3id.org/ieee/ieee-2791-schema/2791object.json", - "etag": "39fb1c62f43ff72ac95f91a433d5e425fb08bc07ec0f719ecfd27fb3cd3a3635", - "provenance_domain": { - "name": "Lineage assignment for an isolate of M. tuberculosis based on its single nucleotide polymorphism (SNP) profile based on UVC v1.0.", - "version": "1.0", - "created": "2017-11-12T12:30:48-0400", - "modified": "2022-06-28T23:41:33.439Z", - "review": [ - { - "status": "approved", - "reviewer_comment": "Approved by GW staff.", - "date": "2017-11-12T12:30:48-0400", - "reviewer": { - "name": "Anjan Purkayastha", - "affiliation": "George Washington University", - "email": "anjan.purkayastha@gmail.com", - "contribution": [ - "curatedBy" - ] - } - }, - { - "status": "approved", - "reviewer_comment": "Approved by Critical Path Institute staff.", - "date": "2017-11-12T12:30:48-0400", - "reviewer": { - "name": "Marco Schito", - "affiliation": "Critical Path Institute", - "email": "mschito@c-path.org", - "contribution": [ - "curatedBy" - ] - } - }, - { - "status": "approved", - "date": "2017-11-12T12:30:48-0400", - "reviewer_comment": "Approved by Critical Path Institute staff.", - "reviewer": { - "name": "Kenneth Ramey", - "affiliation": "Critical Path Institute", - "email": "kramey@c-path.org", - "contribution": [ - "curatedBy" - ] - } - } - ], - "contributors": [ - { - "name": "Matthew Ezewudo", - "affiliation": "Critical Path Institute", - "email": "mezewudo@c-path.org", - "contribution": [ - "authoredBy" - ] - }, - { - "name": "Jamie Posie", - "affiliation": "CDC Atlanta, GA", - "contribution": [ - "authoredBy" - ] - }, - { - "name": "Anjan Purkayastha", - "affiliation": "George Washington University", - "email": "anjan.purkayastha@gmail.com", - "contribution": [ - "authoredBy", - "curatedBy" - ] - }, - { - "name": "Marco Schito", - "affiliation": "Critical Path Institute", - "email": "mschito@c-path.org", - "contribution": [ - "authoredBy" - ] - }, - { - "name": "Charles Hadley King", - "affiliation": "George Washington University", - "email": "hadley_king@gwu.edu", - "contribution": [ - "authoredBy", - "curatedBy" - ], - "orcid": "https://orcid.org/0000-0003-1409-4549" - }, - { - "name": "ReseqTB Consortium", - "affiliation": "Critical Path Institute", - "email": "info@c-path.org", - "contribution": [ - "createdAt" - ] - } - ], - "license": "https://spdx.org/licenses/CC-BY-4.0.html" - }, - "usability_domain": [ - "Lineage assignment for an isolate of M. tuberculosis[taxonomy:1773] based on its single nucleotide polymorphism [so:0000694] (SNP) profile." - ], - "description_domain": { - "keywords": [ - "Mycobacterium tuberculosis", - "Phylogenetics", - "Bacterial lineage analysis", - "Single Nucleotide Polymorphism", - "SNP" - ], - "platform": [ - "Linux" - ], - "pipeline_steps": [ - { - "step_number": 1, - "name": "FastQValidator", - "description": "To verify if input file is in fastq format", - "version": "1.0.5", - "input_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_input_fastq_files/ERR552106_1.fastq.gz" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_input_fastq_files/ERR552106_2.fastq.gz" - } - ], - "output_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/validation/Validation_report.txt" - } - ] - }, - { - "step_number": 2, - "name": "FastQC", - "description": "assess Quality of raw sequence reads", - "version": "0.11.5", - "input_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_input_fastq_files/ERR552106_1.fastq.gz" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_input_fastq_files/ERR552106_2.fastq.gz" - } - ], - "output_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/fastqc/ERR552106_1_fastqc.html" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/fastqc/ERR552106_1_fastqc.zip" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/fastqc/ERR552106_2_fastqc.html" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/fastqc/ERR552106_2_fastqc.zip" - } - ] - }, - { - "step_number": 3, - "name": "Kraken", - "description": "Assesses species specificity of sequence reads", - "version": "0.10.5", - "input_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_input_fastq_files/ERR552106_1.fastq.gz" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_input_fastq_files/ERR552106_2.fastq.gz" - } - ], - "output_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/kraken/final_report.txt" - } - ] - }, - { - "step_number": 4, - "name": "BWA", - "description": "Aligns sequence reads to reference genome", - "version": "0.7.12", - "prerequisite": [ - { - "name": "M. tuberculosis H37Rv genome reference file", - "uri": { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/NC_000962.fa" - } - } - ], - "input_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_input_fastq_files/ERR552106_1.fastq.gz" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_input_fastq_files/ERR552106_2.fastq.gz" - } - ], - "output_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.bam" - } - ] - }, - { - "step_number": 5, - "name": "Qualimap", - "description": "Assess mapping quality of aligned reads", - "version": "2.1.1", - "input_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.bam" - } - ], - "output_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/agogo.css" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/ajax-loader.gif" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/basic.css" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/bgfooter.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/bgtop.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/comment-bright.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/comment-close.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/comment.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/doctools.js" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/down-pressed.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/down.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/file.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/jquery.js" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/minus.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/plus.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/pygments.css" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/qualimap_logo_small.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/report.css" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/searchtools.js" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/underscore.js" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/up-pressed.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/up.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/websupport.js" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_coverage_0to50_histogram.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_coverage_across_reference.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_coverage_histogram.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_coverage_quotes.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_gc_content_per_window.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_homopolymer_indels.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_insert_size_across_reference.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_insert_size_histogram.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_mapping_quality_across_reference.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_mapping_quality_histogram.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_reads_clipping_profile.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_reads_content_per_read_position.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_uniq_read_starts_histogram.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/coverage_across_reference.txt" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/coverage_histogram.txt" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/duplication_rate_histogram.txt" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/genome_fraction_coverage.txt" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/homopolymer_indels.txt" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/insert_size_across_reference.txt" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/insert_size_histogram.txt" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/mapped_reads_clipping_profile.txt" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/mapped_reads_gc-content_distribution.txt" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/mapped_reads_nucleotide_content.txt" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/mapping_quality_across_reference.txt" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/mapping_quality_histogram.txt" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/genome_results.txt" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/qualimapReport.html" - } - ] - }, - { - "step_number": 6, - "name": "MarkDuplicates", - "description": "Removes duplicate reads from alignment", - "version": "1.134", - "input_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.bam" - } - ], - "output_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.no_dups.bam" - } - ] - }, - { - "step_number": 7, - "name": "IndelRealigner", - "description": "Perfoms re-alignment around insertions and deletions", - "version": "3.4.0", - "prerequisite": [ - { - "name": "M. tuberculosis H37Rv genome reference file", - "uri": { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/NC_000962.fa" - } - } - ], - "input_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.no_dups.bam" - } - ], - "output_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.realigned.bam" - } - ] - }, - { - "step_number": 8, - "name": "BaseRecalibrator", - "description": "Recalibrates base quality scores", - "version": "3.4.0", - "prerequisite": [ - { - "name": "M. tuberculosis H37Rv genome reference file", - "uri": { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/NC_000962.fa" - } - }, - { - "name": "Variation sites file", - "uri": { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/snps.vcf" - } - } - ], - "input_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.realigned.bam" - } - ], - "output_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.recalibrated.bam" - } - ] - }, - { - "step_number": 9, - "name": "BuildBamIndex", - "description": "Indexes sorted BAM files for variant calling", - "version": "1.134", - "input_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.recalibrated.bam" - } - ], - "output_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.recalibrated.bai" - } - ] - }, - { - "step_number": 10, - "name": "UnifiedGenotyper", - "description": "Calls variant positions in alignment", - "version": "3.4.0", - "prerequisite": [ - { - "name": "M. tuberculosis H37Rv genome reference file", - "uri": { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/NC_000962.fa" - } - } - ], - "input_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.recalibrated.bam" - } - ], - "output_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_GATK.vcf" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_GATK.mpileup" - } - ] - }, - { - "step_number": 11, - "name": "VCFtools", - "description": "Filters raw VCF to exclude poor quality variants", - "version": "0.1.12b", - "prerequisite": [ - { - "name": "Excluded list file", - "uri": { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/excluded_loci.txt" - } - } - ], - "input_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_GATK.vcf" - } - ], - "output_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_GATK_filtered.vcf" - } - ] - }, - { - "step_number": 12, - "name": "SnpEff", - "description": "Annotates variants in VCF file", - "version": "4.1", - "prerequisite": [ - { - "name": "M. tuberculosis H37Rv GenBank File", - "uri": { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/NC_000962.gbk" - } - } - ], - "input_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_GATK_filtered.vcf" - } - ], - "output_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_GATK_annotated.vcf" - } - ] - }, - { - "step_number": 13, - "name": "parse_annotation.py", - "description": "Parses annotated VCF to create annotation text file", - "version": "", - "input_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_GATK_annotated.vcf" - } - ], - "output_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_Final_annotation.txt" - } - ] - }, - { - "step_number": 14, - "name": "lineage_parser.py", - "description": "Assigns Mycobacterium tuberculosis Complex lineage to isolate", - "version": "", - "prerequisite": [ - { - "name": "Lineage Markers File", - "uri": { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/lineage_markers.txt" - } - } - ], - "input_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_Final_annotation.txt" - } - ], - "output_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106.lineage_report.txt" - } - ] - }, - { - "step_number": 15, - "name": "BEDtools", - "description": "Creates loci based coverage statistics of genome coverage", - "version": "2.17.0", - "input_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.recalibrated.bam" - } - ], - "output_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_genome_region_coverage.txt" - } - ] - }, - { - "step_number": 16, - "name": "resis_parser.py", - "description": "Creates a coverage depth and width table of all loci in isolate genome", - "version": "", - "input_list": [ - { - "uri": "[path_to_genome_loci_text_file]" - }, - { - "uri": "[path_to_per_position_depth_text_file]" - } - ], - "output_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_Coverage.txt" - } - ] - } - ] - }, - "execution_domain": { - "script": [ - { - "uri": { - "uri": "https://github.com/CPTR-ReSeqTB/UVP/commit/9e8f588b3cd3f5eebde29f7d2879e1a1e1c1aed3" - } - } - ], - "script_driver": "Python", - "software_prerequisites": [ - { - "name": "BEDtools", - "version": "2.17.0", - "uri": { - "uri": "https://github.com/arq5x/bedtools/releases/tag/v2.17.0", - "access_time": "2018-10-08T18:35:33-0400", - "sha1_checksum": "5e4507c54355a4a38c6d3e7497a2836a123c6655" - } - }, - { - "name": "Bcftools", - "version": "1.2", - "uri": { - "uri": "https://github.com/samtools/bcftools/releases/download/1.2/bcftools-1.2.tar.bz2", - "access_time": "2018-10-08T18:35:33-0400", - "sha1_checksum": "352908143497da0640b928248165e83212dc4298" - } - }, - { - "name": "BWA", - "version": "0.7.12", - "uri": { - "uri": "https://sourceforge.net/projects/bio-bwa/files/bwa-0.7.12.tar.bz2/download", - "access_time": "2018-10-08T18:35:33-0400", - "sha1_checksum": "6389ca75328bae6d946bfdd58ff4beb0feebaedd" - } - }, - { - "name": "FastQC", - "version": "0.11.5", - "uri": { - "uri": "https://www.bioinformatics.babraham.ac.uk/projects/fastq_screen/fastq_screen_v0.13.0.tar.gz", - "access_time": "2018-10-08T18:35:33-0400" - } - }, - { - "name": "GATK", - "version": "3.4.0", - "uri": { - "uri": "https://github.com/broadgsa/gatk-protected/releases/tag/3.4", - "access_time": "2018-10-08T18:35:33-0400", - "sha1_checksum": "f19618653a0d23baaf147efe7f14aeb4eeb0cbb8" - } - }, - { - "name": "Kraken", - "version": "0.10.5", - "uri": { - "uri": "https://ccb.jhu.edu/software/kraken/dl/kraken-0.10.5-beta.tgz", - "access_time": "2018-10-08T18:35:33-0400" - } - }, - { - "name": "Picard", - "version": "1.134", - "uri": { - "uri": "https://github.com/broadinstitute/picard/releases/tag/1.134", - "access_time": "2018-10-08T18:35:33-0400", - "sha1_checksum": "a7a08c474e4d99346eec7a9956a8fe71943b5d80" - } - }, - { - "name": "Pigz", - "version": "2.3.3", - "uri": { - "uri": "http://springdale.math.ias.edu/data/puias/unsupported/7/SRPMS/pigz-2.3.3-1.sdl7.src.rpm", - "access_time": "2018-10-08T18:35:33-0400" - } - }, - { - "name": "Qualimap", - "version": "2.11", - "uri": { - "uri": "https://bitbucket.org/kokonech/qualimap/downloads/qualimap_v2.1.1.zip", - "access_time": "2018-10-08T18:35:33-0400" - } - }, - { - "name": "Samtools", - "version": "1.2", - "uri": { - "uri": "https://github.com/samtools/samtools/archive/1.2.zip", - "access_time": "2018-10-08T18:35:33-0400" - } - }, - { - "name": "SnpEff", - "version": "4.1", - "uri": { - "uri": "https://sourceforge.net/projects/snpeff/files/snpEff_v4_1l_core.zip/download", - "access_time": "2018-10-08T18:35:33-0400", - "sha1_checksum": "c96e21564b05d6a7912e4dd35f9ef6fe2e094fbb" - } - }, - { - "name": "Vcftools", - "version": "0.1.12b", - "uri": { - "uri": "https://sourceforge.net/projects/vcftools/files/vcftools_0.1.12.tar.gz/download", - "access_time": "2018-10-08T18:35:33-0400", - "sha1_checksum": "29a1ab67786e39be57cbb1ef4e0f6682110b7516" - } - } - ], - "external_data_endpoints": [ - { - "name": "BCOReSeqTB", - "url": "https://github.com/CPTR-ReSeqTB/UVP/" - } - ], - "environment_variables": { - "CORE": "8" - } - }, - "io_domain": { - "input_subdomain": [ - { - "uri": { - "filename": "Mycobacterium tuberculosis H37Rv, complete genome", - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/NC_000962.fa" - } - }, - { - "uri": { - "filename": "Mycobacterium tuberculosis H37Rv, complete genome", - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/NC_000962.gbk" - } - }, - { - "uri": { - "filename": "excluded_loci", - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/excluded_loci.txt" - } - }, - { - "uri": { - "filename": "lineage_markers", - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/lineage_markers.txt" - } - }, - { - "uri": { - "filename": "variation sites", - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/snps.vcf" - } - }, - { - "uri": { - "filename": "ERR552106_2.fastq.gz", - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_input_fastq_files/ERR552106_2.fastq.gz" - } - }, - { - "uri": { - "filename": "ERR552106_1.fastq.gz", - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_input_fastq_files/ERR552106_1.fastq.gz" - } - } - ], - "output_subdomain": [ - { - "mediatype": "text/csv", - "uri": { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106.lineage_report.txt" - } - }, - { - "mediatype": "text/csv", - "uri": { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106.log" - } - }, - { - "mediatype": "text/csv", - "uri": { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_Coverage.txt" - } - }, - { - "mediatype": "text/csv", - "uri": { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106ERR552106_Final_annotation.txt" - } - }, - { - "mediatype": "text/csv", - "uri": { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_GATK.vcf" - } - }, - { - "mediatype": "text/csv", - "uri": { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_GATK_filtered.vcf" - } - }, - { - "mediatype": "text/csv", - "uri": { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_Lineage.txt" - } - }, - { - "mediatype": "text/csv", - "uri": { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_deleted_loci.txt" - } - }, - { - "mediatype": "text/csv", - "uri": { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_genome_region_coverage.txt" - } - } - ] - }, - "error_domain": { - "empirical_error": { - "description": [ - "This test object represents tests done with single lineage sequences to establish the sensitivity of UVP to detect lineage and antibiotic resistant variants", - "Test objective was to evaluate the ability of UVP to identify strain lineage and antibiotic resistant variants from samples of high, medium, low sequence qualities and depths of coverage of 10, 15, 20, 25 and 30-fold. Simulated reads developed from 12 lineage-specific M. tuberculosis (Mtb) genome sequences were used to test UVP." - ], - "parameters": { - "sample_type": "single Mtb lineages (n = 12) with antibiotic resistant variants introduced in silico", - "total_sample_size": "180", - "platform": "Illumina HiSeq 2000", - "paired_end": true, - "length": "100", - "simulated": true, - "program": "ART", - "simulator_parameters": [ - { - "ss": "hs20" - }, - { - "l": "100" - }, - { - "m": "500" - }, - { - "qU": "45" - }, - { - "s": "100" - } - ], - "sequence_quality_level_parameters": { - "description": "these correspond to the ART parameters: qs, qs2, ir, ir2, dr, dr2.", - "sequence_quality_high": { - "substitution_error_rate_R1": "0.0004", - "substitution_error_rate_R2": "0.0007", - "insertion_error_rate_R1": "0.00009", - "insertion_error_rate_R2": "0.00015", - "deletion_error_rate_R1": "0.00011", - "deletion_error_rate_R2": "0.00023", - "units": "errors per sequenced base" - }, - "sequence_quality_medium": { - "substitution_error_rate_R1": "0.004", - "substitution_error_rate_R2": "0.007", - "insertion_error_rate_R1": "0.0009", - "insertion_error_rate_R2": "0.0015", - "deletion_error_rate_R1": "0.0011", - "deletion_error_rate_R2": "0.0023", - "units": "errors per sequenced base" - }, - "sequence_quality_low": { - "substitution_error_rate_R1": "0.04", - "substitution_error_rate_R2": "0.07", - "insertion_error_rate_R1": "0.009", - "insertion_error_rate_R2": "0.015", - "deletion_error_rate_R1": "0.011", - "deletion_error_rate_R2": "0.023", - "units": "errors per sequenced base" - } - } - }, - "summary results": { - "sequence_quality_high": { - "sample size": "60", - "result": { - "lineage_assignment_rate": "93.33", - "mean_AR_identification_rate": "86.72", - "Units": "Percentage" - } - }, - "sequence_quality_medium": { - "sample size": "60", - "result": { - "lineage_assignment_rate": "90.00", - "mean_AR_identification_rate": "81.00", - "Units": "Percentage" - } - }, - "sequence_quality_low": { - "sample size": "60", - "result": { - "lineage_assignment_rate": "0.00", - "mean_AR_identification_rate": "0.00", - "Units": "Percentage" - } - }, - "coverage_10": { - "sample size": "36", - "result": { - "lineage_assignment_rate": "41.67", - "mean_AR_identification_rate": "22.42", - "Units": "Percentage" - } - }, - "coverage_15": { - "sample size": "36", - "result": { - "lineage_assignment_rate": "63.89", - "mean_AR_identification_rate": "57.14", - "Units": "Percentage" - } - }, - "coverage_20": { - "sample size": "36", - "result": { - "lineage_assignment_rate": "66.67", - "mean_AR_identification_rate": "66.46", - "Units": "Percentage" - } - }, - "coverage_25": { - "sample size": "36", - "result": { - "lineage_assignment_rate": "66.67", - "mean_AR_identification_rate": "66.66", - "Units": "Percentage" - } - }, - "coverage_30": { - "sample size": "36", - "result": { - "lineage_assignment_rate": "66.67", - "mean_AR_identification_rate": "66.66", - "Units": "Percentage" - } - } - }, - "detailed results": [ - { - "sequence_quality_high": { - "coverage_10": { - "sample size": "12", - "result": { - "lineage_assignment_rate": "66.67", - "mean_AR_identification_rate": "40.75", - "Units": "Percentage" - } - }, - "coverage_15": { - "sample size": "12", - "result": { - "lineage_assignment_rate": "100.00", - "mean_AR_identification_rate": "92.85", - "Units": "Percentage" - } - }, - "coverage_20": { - "sample size": "12", - "result": { - "lineage_assignment_rate": "100.00", - "mean_AR_identification_rate": "100.00", - "Units": "Percentage" - } - }, - "coverage_25": { - "sample size": "12", - "result": { - "lineage_assignment_rate": "100.00", - "mean_AR_identification_rate": "100.00", - "Units": "Percentage" - } - }, - "coverage_30": { - "sample size": "12", - "result": { - "lineage_assignment_rate": "100.00", - "mean_AR_identification_rate": "100.00", - "Units": "Percentage" - } - } - } - }, - { - "sequence_quality_medium": { - "coverage_10": { - "sample size": "12", - "result": { - "lineage_assignment_rate": "58.34", - "mean_AR_identification_rate": "26.50", - "Units": "Percentage" - } - }, - "coverage_15": { - "sample size": "12", - "result": { - "lineage_assignment_rate": "91.66", - "mean_AR_identification_rate": "78.57", - "Units": "Percentage" - } - }, - "coverage_20": { - "sample size": "12", - "result": { - "lineage_assignment_rate": "100.00", - "mean_AR_identification_rate": "99.40", - "Units": "Percentage" - } - }, - "coverage_25": { - "sample size": "12", - "result": { - "lineage_assignment_rate": "100.00", - "mean_AR_identification_rate": "100.00", - "Units": "Percentage" - } - }, - "coverage_30": { - "sample size": "12", - "result": { - "lineage_assignment_rate": "100.00", - "mean_AR_identification_rate": "100.00", - "Units": "Percentage" - } - } - } - }, - { - "sequence_quality_low": { - "coverage_10": { - "sample size": "12", - "result": { - "lineage_assignment_rate": "0.00", - "mean_AR_identification_rate": "0.00", - "Units": "Percentage" - } - }, - "coverage_15": { - "sample size": "12", - "result": { - "lineage_assignment_rate": "0.00", - "mean_AR_identification_rate": "0.00", - "Units": "Percentage" - } - }, - "coverage_20": { - "sample size": "12", - "result": { - "lineage_assignment_rate": "0.00", - "mean_AR_identification_rate": "0.00", - "Units": "Percentage" - } - }, - "coverage_25": { - "sample size": "12", - "result": { - "lineage_assignment_rate": "0.00", - "mean_AR_identification_rate": "0.00", - "Units": "Percentage" - } - }, - "coverage_30": { - "sample size": "12", - "result": { - "lineage_assignment_rate": "0.00", - "mean_AR_identification_rate": "0.00", - "Units": "Percentage" - } - } - } - } - ] - }, - "algorithmic_error": { - "placeholder": "for algorithmic error domain" - } - }, - "extension_domain": [ - { - "extension_schema": "https://raw.githubusercontent.com/biocompute-objects/extension_domain/1.1.0/scm/scm_extension.json", - "scm_extension": { - "scm_repository": "https://github.com/CPTR-ReSeqTB/UVP", - "scm_type": "git", - "scm_commit": "9e8f588b3cd3f5eebde29f7d2879e1a1e1c1aed3", - "scm_path": "UVP/scripts/UVP.py" - } - } - ] - }, - "object_class": "", - "object_id": "http://127.0.0.1:8000/OTHER_000001/DRAFT", - "owner_group": "other_drafter", - "owner_user": "bco_api_user", - "prefix": "OTHER", - "schema": "IEEE", - "state": "DRAFT", - "last_update": "2022-06-28T23:41:49.698Z" - } - }, - { - "model": "api.bco", - "pk": 10, - "fields": { - "contents": { - "object_id": "http://127.0.0.1:8000/BCO_000003/1.0", - "spec_version": "https://w3id.org/ieee/ieee-2791-schema/2791object.json", - "etag": "2d96bb6e18aed202332d66f4ef9f909cf419d72bd33af6833957ad372d8f7d1f", - "provenance_domain": { - "name": "SARS-CoV-2 reference proteome sequences", - "version": "1.0", - "created": "2021-12-16T21:06:50.969977Z", - "modified": "2022-06-28T23:21:13.091Z", - "review": [], - "contributors": [ - { - "contribution": [ - "createdBy", - "authoredBy", - "curatedBy", - "importedBy", - "contributedBy" - ], - "name": "Stephanie Singleton", - "affiliation": "The George Washington University ", - "email": "ssingleton@gwu.edu" - }, - { - "contribution": [ - "createdBy" - ], - "name": "Jonathon Keeney", - "affiliation": "The George Washington University ", - "email": "keeneyjg@gwu.edu" - } - ], - "license": "MIT" - }, - "usability_domain": [ - "SARS-CoV-2 (Wuhan-Hu-1) reference proteome fasta sequences.", - "Data was retrieved using UniProt proteome ID (UniProt ID: UP000464024; Severe acute respiratory syndrome coronavirus 2 isolate Wuhan-Hu-1). This set was chosen based on UniProt curation emphasis and community use. The primary use case for this data set is to use the protein accessions and amino acid coordinates to refer to annotations related to drug resistance mutations, selection pressure and more." - ], - "description_domain": { - "keywords": [ - "SARS-CoV-2, COVID-19, Complete Proteome, FASTA, Proteins" - ], - "platform": [], - "pipeline_steps": [ - { - "step_number": 1, - "name": "Download all available files from UniProt", - "description": "Download all files associated with the SARS-Cov-2 reference genome (UniProt ID: UP000464024) into the ARGOS Dev server Downloads folder. While logged into the server, execute the following commands: wget ftp://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/reference_proteomes/Viruses/UP000464024/*. One of the files acquired through this step, and necessary for generating a new data set is 'UP000464024_2697049.fasta.gz'. Then execute 'gunzip *.gz' to unzip all the files in the downloads folder. The file name is then changed to 'UP000464024_2697049.fasta' in the downloads folder.", - "prerequisite": [ - { - "name": "UniProt reference page ", - "uri": { - "uri": "https://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/reference_proteomes/Viruses/UP000464024/", - "access_time": "2021-12-16T21:06:50.969977Z" - } - } - ], - "input_list": [ - { - "uri": "ftp://argosdb-vm-dev/data/shared/argosdb/downloads/uniprot/v1.0/sars_cov_2/UP000464024_2697049.fasta.gz", - "filename": "UP000464024_2697049.fasta.gz", - "access_time": "2021-12-16T21:06:50.969977Z" - } - ], - "output_list": [ - { - "uri": "ftp://argosdb-vm-dev/data/shared/argosdb/downloads/uniprot/v1.0/sars_cov_2/UP000464024_2697049.fasta", - "filename": "UP000464024_2697049.fasta", - "access_time": "2021-12-16T21:06:50.969977Z" - } - ], - "version": "1.0" - }, - { - "step_number": 2, - "name": "Run the recipe created to process this fasta file, review the newly generated dataset, and change the name of the file for clarity", - "description": "This step will use a recipe and a python script to generate a new dataset. The recipe tells the python script how and what to construct. This dataset will then be then moved in the 'unreviewed' folder in the dev argosdb server, it will be manually reviewed, and then the name of the file will be changed for clarity and tracking purposes - this is prefered. Make sure you are located in the correct folder to run the script (/software/argosdb/dataset-maker). Use the following command to run the recipe and the python script: ‘python3 make-dataset.py -i recipes/sars-cov-2_UP000464024_proteome_sequences.json’. Next, go to the ‘unreviewed’ folder to review the newly generated dataset ‘UP000464024_2697049.fasta’. Once reviewed and approved, move the file to the ‘reviewed’ folder. Lastly, once in the ‘reviewed’ folder, change the name of the file to: ‘sars-cov-2_UP000464024_2697049.fasta’", - "prerequisite": [ - { - "name": "Dataset-maker python script", - "uri": { - "uri": "ftp://argosdb-vm-dev/software/argosdb/make-dataset.py", - "filename": "make-dataset.py" - } - }, - { - "name": "SARS-CoV-2 genome FASTA recipe", - "uri": { - "uri": "ftp://argosdb-vm-dev/data/shared/argosdb//generated/datasets/recipes/sars-cov-2_UP000464024_proteome_sequences.json", - "filename": "sars-cov-2_UP000464024_proteome_sequences.json" - } - } - ], - "input_list": [ - { - "uri": "ftp://argosdb-vm-dev/data/shared/argosdb/downloads/uniprot/v1.0/sars_cov_2/UP000464024_2697049.fasta", - "filename": "UP000464024_2697049.fasta", - "access_time": "2021-12-16T21:06:50.969977Z" - } - ], - "output_list": [ - { - "uri": "ftp://argosdb-vm-dev/data/shared/argosdb/generated/datasets/reviewed/sars-cov-2_UP000464024_2697049.fasta", - "filename": "sars-cov-2_UP000464024_2697049.fasta", - "access_time": "2021-12-16T21:06:50.969977Z" - } - ], - "version": "1.0" - } - ] - }, - "execution_domain": { - "script": [ - { - "uri": { - "uri": "ftp://argosdb-vm-dev/software/argosdb/make-dataset.py", - "filename": "make-dataset.py" - } - } - ], - "script_driver": "python3", - "software_prerequisites": [ - { - "name": "Python", - "version": "3.10.0", - "uri": { - "uri": "https://www.python.org/ftp/python/3.10.0/python-3.10.0-amd64.exe", - "filename": "" - } - } - ], - "external_data_endpoints": [ - { - "name": "python-3.10.0", - "url": "https://www.python.org/ftp/python/3.10.0/python-3.10.0-amd64.exe" - } - ], - "environment_variables": {} - }, - "io_domain": { - "input_subdomain": [ - { - "uri": { - "uri": "http://data.argosdb.org/ln2downloads/uniprot/v1.0/UP000464024_2697049.fasta", - "filename": "UP000464024_2697049.fasta.gz" - } - } - ], - "output_subdomain": [ - { - "mediatype": "text/plain", - "uri": { - "uri": "http://data.argosdb.org/ln2data/uniprot/v1.0/UP000464024_2697049.fasta", - "filename": "UP000464024_2697049.fasta" - } - } - ] - }, - "parametric_domain": [], - "extension_domain": [ - { - "extension_schema": "http://www.w3id.org/biocompute/extension_domain/1.2.0/dataset/dataset_extension.json", - "dataset_extension": { - "additional_license": { - "data_license": "https://creativecommons.org/licenses/by/4.0/", - "script_license": "https://www.gnu.org/licenses/gpl-3.0.en.html" - }, - "dataset_categories": [ - { - "category_value": "SARS-CoV-2", - "category_name": "species" - }, - { - "category_value": "protein", - "category_name": "molecule" - }, - { - "category_value": "SARS-CoV-2", - "category_name": "tag" - }, - { - "category_value": "fasta", - "category_name": "file_type" - }, - { - "category_value": "non-core", - "category_name": "priority" - }, - { - "category_value": "reviewed", - "category_name": "status" - }, - { - "category_value": "internal", - "category_name": "scope" - } - ] - } - } - ] - }, - "object_class": null, - "object_id": "http://127.0.0.1:8000/BCO_000003/1.0", - "owner_group": "jdoe58", - "owner_user": "jdoe58", - "prefix": "BCO", - "schema": "IEEE", - "state": "PUBLISHED", - "last_update": "2022-06-28T23:21:56.879Z" - } - }, - { - "model": "api.bco", - "pk": 11, - "fields": { - "contents": { - "object_id": "http://127.0.0.1:8000/OTHER_000001/1.0", - "spec_version": "https://w3id.org/ieee/ieee-2791-schema/2791object.json", - "etag": "39fb1c62f43ff72ac95f91a433d5e425fb08bc07ec0f719ecfd27fb3cd3a3635", - "provenance_domain": { - "name": "Lineage assignment for an isolate of M. tuberculosis based on its single nucleotide polymorphism (SNP) profile based on UVC v1.0.", - "version": "1.0", - "created": "2017-11-12T12:30:48-0400", - "modified": "2022-06-28T23:41:33.439Z", - "review": [ - { - "status": "approved", - "reviewer_comment": "Approved by GW staff.", - "date": "2017-11-12T12:30:48-0400", - "reviewer": { - "name": "Anjan Purkayastha", - "affiliation": "George Washington University", - "email": "anjan.purkayastha@gmail.com", - "contribution": [ - "curatedBy" - ] - } - }, - { - "status": "approved", - "reviewer_comment": "Approved by Critical Path Institute staff.", - "date": "2017-11-12T12:30:48-0400", - "reviewer": { - "name": "Marco Schito", - "affiliation": "Critical Path Institute", - "email": "mschito@c-path.org", - "contribution": [ - "curatedBy" - ] - } - }, - { - "status": "approved", - "date": "2017-11-12T12:30:48-0400", - "reviewer_comment": "Approved by Critical Path Institute staff.", - "reviewer": { - "name": "Kenneth Ramey", - "affiliation": "Critical Path Institute", - "email": "kramey@c-path.org", - "contribution": [ - "curatedBy" - ] - } - } - ], - "contributors": [ - { - "name": "Matthew Ezewudo", - "affiliation": "Critical Path Institute", - "email": "mezewudo@c-path.org", - "contribution": [ - "authoredBy" - ] - }, - { - "name": "Jamie Posie", - "affiliation": "CDC Atlanta, GA", - "contribution": [ - "authoredBy" - ] - }, - { - "name": "Anjan Purkayastha", - "affiliation": "George Washington University", - "email": "anjan.purkayastha@gmail.com", - "contribution": [ - "authoredBy", - "curatedBy" - ] - }, - { - "name": "Marco Schito", - "affiliation": "Critical Path Institute", - "email": "mschito@c-path.org", - "contribution": [ - "authoredBy" - ] - }, - { - "name": "Charles Hadley King", - "affiliation": "George Washington University", - "email": "hadley_king@gwu.edu", - "contribution": [ - "authoredBy", - "curatedBy" - ], - "orcid": "https://orcid.org/0000-0003-1409-4549" - }, - { - "name": "ReseqTB Consortium", - "affiliation": "Critical Path Institute", - "email": "info@c-path.org", - "contribution": [ - "createdAt" - ] - } - ], - "license": "https://spdx.org/licenses/CC-BY-4.0.html" - }, - "usability_domain": [ - "Lineage assignment for an isolate of M. tuberculosis[taxonomy:1773] based on its single nucleotide polymorphism [so:0000694] (SNP) profile." - ], - "description_domain": { - "keywords": [ - "Mycobacterium tuberculosis", - "Phylogenetics", - "Bacterial lineage analysis", - "Single Nucleotide Polymorphism", - "SNP" - ], - "platform": [ - "Linux" - ], - "pipeline_steps": [ - { - "step_number": 1, - "name": "FastQValidator", - "description": "To verify if input file is in fastq format", - "version": "1.0.5", - "input_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_input_fastq_files/ERR552106_1.fastq.gz" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_input_fastq_files/ERR552106_2.fastq.gz" - } - ], - "output_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/validation/Validation_report.txt" - } - ] - }, - { - "step_number": 2, - "name": "FastQC", - "description": "assess Quality of raw sequence reads", - "version": "0.11.5", - "input_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_input_fastq_files/ERR552106_1.fastq.gz" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_input_fastq_files/ERR552106_2.fastq.gz" - } - ], - "output_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/fastqc/ERR552106_1_fastqc.html" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/fastqc/ERR552106_1_fastqc.zip" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/fastqc/ERR552106_2_fastqc.html" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/fastqc/ERR552106_2_fastqc.zip" - } - ] - }, - { - "step_number": 3, - "name": "Kraken", - "description": "Assesses species specificity of sequence reads", - "version": "0.10.5", - "input_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_input_fastq_files/ERR552106_1.fastq.gz" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_input_fastq_files/ERR552106_2.fastq.gz" - } - ], - "output_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/kraken/final_report.txt" - } - ] - }, - { - "step_number": 4, - "name": "BWA", - "description": "Aligns sequence reads to reference genome", - "version": "0.7.12", - "prerequisite": [ - { - "name": "M. tuberculosis H37Rv genome reference file", - "uri": { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/NC_000962.fa" - } - } - ], - "input_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_input_fastq_files/ERR552106_1.fastq.gz" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_input_fastq_files/ERR552106_2.fastq.gz" - } - ], - "output_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.bam" - } - ] - }, - { - "step_number": 5, - "name": "Qualimap", - "description": "Assess mapping quality of aligned reads", - "version": "2.1.1", - "input_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.bam" - } - ], - "output_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/agogo.css" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/ajax-loader.gif" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/basic.css" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/bgfooter.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/bgtop.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/comment-bright.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/comment-close.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/comment.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/doctools.js" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/down-pressed.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/down.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/file.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/jquery.js" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/minus.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/plus.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/pygments.css" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/qualimap_logo_small.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/report.css" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/searchtools.js" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/underscore.js" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/up-pressed.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/up.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/css/websupport.js" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_coverage_0to50_histogram.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_coverage_across_reference.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_coverage_histogram.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_coverage_quotes.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_gc_content_per_window.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_homopolymer_indels.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_insert_size_across_reference.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_insert_size_histogram.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_mapping_quality_across_reference.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_mapping_quality_histogram.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_reads_clipping_profile.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_reads_content_per_read_position.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/images_qualimapReport/genome_uniq_read_starts_histogram.png" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/coverage_across_reference.txt" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/coverage_histogram.txt" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/duplication_rate_histogram.txt" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/genome_fraction_coverage.txt" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/homopolymer_indels.txt" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/insert_size_across_reference.txt" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/insert_size_histogram.txt" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/mapped_reads_clipping_profile.txt" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/mapped_reads_gc-content_distribution.txt" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/mapped_reads_nucleotide_content.txt" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/mapping_quality_across_reference.txt" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/raw_data_qualimapReport/mapping_quality_histogram.txt" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/genome_results.txt" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/qualimap/qualimapReport.html" - } - ] - }, - { - "step_number": 6, - "name": "MarkDuplicates", - "description": "Removes duplicate reads from alignment", - "version": "1.134", - "input_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.bam" - } - ], - "output_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.no_dups.bam" - } - ] - }, - { - "step_number": 7, - "name": "IndelRealigner", - "description": "Perfoms re-alignment around insertions and deletions", - "version": "3.4.0", - "prerequisite": [ - { - "name": "M. tuberculosis H37Rv genome reference file", - "uri": { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/NC_000962.fa" - } - } - ], - "input_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.no_dups.bam" - } - ], - "output_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.realigned.bam" - } - ] - }, - { - "step_number": 8, - "name": "BaseRecalibrator", - "description": "Recalibrates base quality scores", - "version": "3.4.0", - "prerequisite": [ - { - "name": "M. tuberculosis H37Rv genome reference file", - "uri": { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/NC_000962.fa" - } - }, - { - "name": "Variation sites file", - "uri": { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/snps.vcf" - } - } - ], - "input_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.realigned.bam" - } - ], - "output_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.recalibrated.bam" - } - ] - }, - { - "step_number": 9, - "name": "BuildBamIndex", - "description": "Indexes sorted BAM files for variant calling", - "version": "1.134", - "input_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.recalibrated.bam" - } - ], - "output_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.recalibrated.bai" - } - ] - }, - { - "step_number": 10, - "name": "UnifiedGenotyper", - "description": "Calls variant positions in alignment", - "version": "3.4.0", - "prerequisite": [ - { - "name": "M. tuberculosis H37Rv genome reference file", - "uri": { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/NC_000962.fa" - } - } - ], - "input_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.recalibrated.bam" - } - ], - "output_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_GATK.vcf" - }, - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_GATK.mpileup" - } - ] - }, - { - "step_number": 11, - "name": "VCFtools", - "description": "Filters raw VCF to exclude poor quality variants", - "version": "0.1.12b", - "prerequisite": [ - { - "name": "Excluded list file", - "uri": { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/excluded_loci.txt" - } - } - ], - "input_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_GATK.vcf" - } - ], - "output_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_GATK_filtered.vcf" - } - ] - }, - { - "step_number": 12, - "name": "SnpEff", - "description": "Annotates variants in VCF file", - "version": "4.1", - "prerequisite": [ - { - "name": "M. tuberculosis H37Rv GenBank File", - "uri": { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/NC_000962.gbk" - } - } - ], - "input_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_GATK_filtered.vcf" - } - ], - "output_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_GATK_annotated.vcf" - } - ] - }, - { - "step_number": 13, - "name": "parse_annotation.py", - "description": "Parses annotated VCF to create annotation text file", - "version": "", - "input_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_GATK_annotated.vcf" - } - ], - "output_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_Final_annotation.txt" - } - ] - }, - { - "step_number": 14, - "name": "lineage_parser.py", - "description": "Assigns Mycobacterium tuberculosis Complex lineage to isolate", - "version": "", - "prerequisite": [ - { - "name": "Lineage Markers File", - "uri": { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/lineage_markers.txt" - } - } - ], - "input_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_Final_annotation.txt" - } - ], - "output_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106.lineage_report.txt" - } - ] - }, - { - "step_number": 15, - "name": "BEDtools", - "description": "Creates loci based coverage statistics of genome coverage", - "version": "2.17.0", - "input_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/bam_files/ERR552106.recalibrated.bam" - } - ], - "output_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_genome_region_coverage.txt" - } - ] - }, - { - "step_number": 16, - "name": "resis_parser.py", - "description": "Creates a coverage depth and width table of all loci in isolate genome", - "version": "", - "input_list": [ - { - "uri": "[path_to_genome_loci_text_file]" - }, - { - "uri": "[path_to_per_position_depth_text_file]" - } - ], - "output_list": [ - { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_Coverage.txt" - } - ] - } - ] - }, - "execution_domain": { - "script": [ - { - "uri": { - "uri": "https://github.com/CPTR-ReSeqTB/UVP/commit/9e8f588b3cd3f5eebde29f7d2879e1a1e1c1aed3" - } - } - ], - "script_driver": "Python", - "software_prerequisites": [ - { - "name": "BEDtools", - "version": "2.17.0", - "uri": { - "uri": "https://github.com/arq5x/bedtools/releases/tag/v2.17.0", - "access_time": "2018-10-08T18:35:33-0400", - "sha1_checksum": "5e4507c54355a4a38c6d3e7497a2836a123c6655" - } - }, - { - "name": "Bcftools", - "version": "1.2", - "uri": { - "uri": "https://github.com/samtools/bcftools/releases/download/1.2/bcftools-1.2.tar.bz2", - "access_time": "2018-10-08T18:35:33-0400", - "sha1_checksum": "352908143497da0640b928248165e83212dc4298" - } - }, - { - "name": "BWA", - "version": "0.7.12", - "uri": { - "uri": "https://sourceforge.net/projects/bio-bwa/files/bwa-0.7.12.tar.bz2/download", - "access_time": "2018-10-08T18:35:33-0400", - "sha1_checksum": "6389ca75328bae6d946bfdd58ff4beb0feebaedd" - } - }, - { - "name": "FastQC", - "version": "0.11.5", - "uri": { - "uri": "https://www.bioinformatics.babraham.ac.uk/projects/fastq_screen/fastq_screen_v0.13.0.tar.gz", - "access_time": "2018-10-08T18:35:33-0400" - } - }, - { - "name": "GATK", - "version": "3.4.0", - "uri": { - "uri": "https://github.com/broadgsa/gatk-protected/releases/tag/3.4", - "access_time": "2018-10-08T18:35:33-0400", - "sha1_checksum": "f19618653a0d23baaf147efe7f14aeb4eeb0cbb8" - } - }, - { - "name": "Kraken", - "version": "0.10.5", - "uri": { - "uri": "https://ccb.jhu.edu/software/kraken/dl/kraken-0.10.5-beta.tgz", - "access_time": "2018-10-08T18:35:33-0400" - } - }, - { - "name": "Picard", - "version": "1.134", - "uri": { - "uri": "https://github.com/broadinstitute/picard/releases/tag/1.134", - "access_time": "2018-10-08T18:35:33-0400", - "sha1_checksum": "a7a08c474e4d99346eec7a9956a8fe71943b5d80" - } - }, - { - "name": "Pigz", - "version": "2.3.3", - "uri": { - "uri": "http://springdale.math.ias.edu/data/puias/unsupported/7/SRPMS/pigz-2.3.3-1.sdl7.src.rpm", - "access_time": "2018-10-08T18:35:33-0400" - } - }, - { - "name": "Qualimap", - "version": "2.11", - "uri": { - "uri": "https://bitbucket.org/kokonech/qualimap/downloads/qualimap_v2.1.1.zip", - "access_time": "2018-10-08T18:35:33-0400" - } - }, - { - "name": "Samtools", - "version": "1.2", - "uri": { - "uri": "https://github.com/samtools/samtools/archive/1.2.zip", - "access_time": "2018-10-08T18:35:33-0400" - } - }, - { - "name": "SnpEff", - "version": "4.1", - "uri": { - "uri": "https://sourceforge.net/projects/snpeff/files/snpEff_v4_1l_core.zip/download", - "access_time": "2018-10-08T18:35:33-0400", - "sha1_checksum": "c96e21564b05d6a7912e4dd35f9ef6fe2e094fbb" - } - }, - { - "name": "Vcftools", - "version": "0.1.12b", - "uri": { - "uri": "https://sourceforge.net/projects/vcftools/files/vcftools_0.1.12.tar.gz/download", - "access_time": "2018-10-08T18:35:33-0400", - "sha1_checksum": "29a1ab67786e39be57cbb1ef4e0f6682110b7516" - } - } - ], - "external_data_endpoints": [ - { - "name": "BCOReSeqTB", - "url": "https://github.com/CPTR-ReSeqTB/UVP/" - } - ], - "environment_variables": { - "CORE": "8" - } - }, - "io_domain": { - "input_subdomain": [ - { - "uri": { - "filename": "Mycobacterium tuberculosis H37Rv, complete genome", - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/NC_000962.fa" - } - }, - { - "uri": { - "filename": "Mycobacterium tuberculosis H37Rv, complete genome", - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/NC_000962.gbk" - } - }, - { - "uri": { - "filename": "excluded_loci", - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/excluded_loci.txt" - } - }, - { - "uri": { - "filename": "lineage_markers", - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/lineage_markers.txt" - } - }, - { - "uri": { - "filename": "variation sites", - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_reference_files/snps.vcf" - } - }, - { - "uri": { - "filename": "ERR552106_2.fastq.gz", - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_input_fastq_files/ERR552106_2.fastq.gz" - } - }, - { - "uri": { - "filename": "ERR552106_1.fastq.gz", - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_input_fastq_files/ERR552106_1.fastq.gz" - } - } - ], - "output_subdomain": [ - { - "mediatype": "text/csv", - "uri": { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106.lineage_report.txt" - } - }, - { - "mediatype": "text/csv", - "uri": { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106.log" - } - }, - { - "mediatype": "text/csv", - "uri": { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_Coverage.txt" - } - }, - { - "mediatype": "text/csv", - "uri": { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106ERR552106_Final_annotation.txt" - } - }, - { - "mediatype": "text/csv", - "uri": { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_GATK.vcf" - } - }, - { - "mediatype": "text/csv", - "uri": { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_GATK_filtered.vcf" - } - }, - { - "mediatype": "text/csv", - "uri": { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_Lineage.txt" - } - }, - { - "mediatype": "text/csv", - "uri": { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_deleted_loci.txt" - } - }, - { - "mediatype": "text/csv", - "uri": { - "uri": "http://bco.reseqtb.org/UVP-BCO/UVPv2.4.1_sample_results/ERR552106/ERR552106_genome_region_coverage.txt" - } - } - ] - }, - "error_domain": { - "empirical_error": { - "description": [ - "This test object represents tests done with single lineage sequences to establish the sensitivity of UVP to detect lineage and antibiotic resistant variants", - "Test objective was to evaluate the ability of UVP to identify strain lineage and antibiotic resistant variants from samples of high, medium, low sequence qualities and depths of coverage of 10, 15, 20, 25 and 30-fold. Simulated reads developed from 12 lineage-specific M. tuberculosis (Mtb) genome sequences were used to test UVP." - ], - "parameters": { - "sample_type": "single Mtb lineages (n = 12) with antibiotic resistant variants introduced in silico", - "total_sample_size": "180", - "platform": "Illumina HiSeq 2000", - "paired_end": true, - "length": "100", - "simulated": true, - "program": "ART", - "simulator_parameters": [ - { - "ss": "hs20" - }, - { - "l": "100" - }, - { - "m": "500" - }, - { - "qU": "45" - }, - { - "s": "100" - } - ], - "sequence_quality_level_parameters": { - "description": "these correspond to the ART parameters: qs, qs2, ir, ir2, dr, dr2.", - "sequence_quality_high": { - "substitution_error_rate_R1": "0.0004", - "substitution_error_rate_R2": "0.0007", - "insertion_error_rate_R1": "0.00009", - "insertion_error_rate_R2": "0.00015", - "deletion_error_rate_R1": "0.00011", - "deletion_error_rate_R2": "0.00023", - "units": "errors per sequenced base" - }, - "sequence_quality_medium": { - "substitution_error_rate_R1": "0.004", - "substitution_error_rate_R2": "0.007", - "insertion_error_rate_R1": "0.0009", - "insertion_error_rate_R2": "0.0015", - "deletion_error_rate_R1": "0.0011", - "deletion_error_rate_R2": "0.0023", - "units": "errors per sequenced base" - }, - "sequence_quality_low": { - "substitution_error_rate_R1": "0.04", - "substitution_error_rate_R2": "0.07", - "insertion_error_rate_R1": "0.009", - "insertion_error_rate_R2": "0.015", - "deletion_error_rate_R1": "0.011", - "deletion_error_rate_R2": "0.023", - "units": "errors per sequenced base" - } - } - }, - "summary results": { - "sequence_quality_high": { - "sample size": "60", - "result": { - "lineage_assignment_rate": "93.33", - "mean_AR_identification_rate": "86.72", - "Units": "Percentage" - } - }, - "sequence_quality_medium": { - "sample size": "60", - "result": { - "lineage_assignment_rate": "90.00", - "mean_AR_identification_rate": "81.00", - "Units": "Percentage" - } - }, - "sequence_quality_low": { - "sample size": "60", - "result": { - "lineage_assignment_rate": "0.00", - "mean_AR_identification_rate": "0.00", - "Units": "Percentage" - } - }, - "coverage_10": { - "sample size": "36", - "result": { - "lineage_assignment_rate": "41.67", - "mean_AR_identification_rate": "22.42", - "Units": "Percentage" - } - }, - "coverage_15": { - "sample size": "36", - "result": { - "lineage_assignment_rate": "63.89", - "mean_AR_identification_rate": "57.14", - "Units": "Percentage" - } - }, - "coverage_20": { - "sample size": "36", - "result": { - "lineage_assignment_rate": "66.67", - "mean_AR_identification_rate": "66.46", - "Units": "Percentage" - } - }, - "coverage_25": { - "sample size": "36", - "result": { - "lineage_assignment_rate": "66.67", - "mean_AR_identification_rate": "66.66", - "Units": "Percentage" - } - }, - "coverage_30": { - "sample size": "36", - "result": { - "lineage_assignment_rate": "66.67", - "mean_AR_identification_rate": "66.66", - "Units": "Percentage" - } - } - }, - "detailed results": [ - { - "sequence_quality_high": { - "coverage_10": { - "sample size": "12", - "result": { - "lineage_assignment_rate": "66.67", - "mean_AR_identification_rate": "40.75", - "Units": "Percentage" - } - }, - "coverage_15": { - "sample size": "12", - "result": { - "lineage_assignment_rate": "100.00", - "mean_AR_identification_rate": "92.85", - "Units": "Percentage" - } - }, - "coverage_20": { - "sample size": "12", - "result": { - "lineage_assignment_rate": "100.00", - "mean_AR_identification_rate": "100.00", - "Units": "Percentage" - } - }, - "coverage_25": { - "sample size": "12", - "result": { - "lineage_assignment_rate": "100.00", - "mean_AR_identification_rate": "100.00", - "Units": "Percentage" - } - }, - "coverage_30": { - "sample size": "12", - "result": { - "lineage_assignment_rate": "100.00", - "mean_AR_identification_rate": "100.00", - "Units": "Percentage" - } - } - } - }, - { - "sequence_quality_medium": { - "coverage_10": { - "sample size": "12", - "result": { - "lineage_assignment_rate": "58.34", - "mean_AR_identification_rate": "26.50", - "Units": "Percentage" - } - }, - "coverage_15": { - "sample size": "12", - "result": { - "lineage_assignment_rate": "91.66", - "mean_AR_identification_rate": "78.57", - "Units": "Percentage" - } - }, - "coverage_20": { - "sample size": "12", - "result": { - "lineage_assignment_rate": "100.00", - "mean_AR_identification_rate": "99.40", - "Units": "Percentage" - } - }, - "coverage_25": { - "sample size": "12", - "result": { - "lineage_assignment_rate": "100.00", - "mean_AR_identification_rate": "100.00", - "Units": "Percentage" - } - }, - "coverage_30": { - "sample size": "12", - "result": { - "lineage_assignment_rate": "100.00", - "mean_AR_identification_rate": "100.00", - "Units": "Percentage" - } - } - } - }, - { - "sequence_quality_low": { - "coverage_10": { - "sample size": "12", - "result": { - "lineage_assignment_rate": "0.00", - "mean_AR_identification_rate": "0.00", - "Units": "Percentage" - } - }, - "coverage_15": { - "sample size": "12", - "result": { - "lineage_assignment_rate": "0.00", - "mean_AR_identification_rate": "0.00", - "Units": "Percentage" - } - }, - "coverage_20": { - "sample size": "12", - "result": { - "lineage_assignment_rate": "0.00", - "mean_AR_identification_rate": "0.00", - "Units": "Percentage" - } - }, - "coverage_25": { - "sample size": "12", - "result": { - "lineage_assignment_rate": "0.00", - "mean_AR_identification_rate": "0.00", - "Units": "Percentage" - } - }, - "coverage_30": { - "sample size": "12", - "result": { - "lineage_assignment_rate": "0.00", - "mean_AR_identification_rate": "0.00", - "Units": "Percentage" - } - } - } - } - ] - }, - "algorithmic_error": { - "placeholder": "for algorithmic error domain" - } - }, - "extension_domain": [ - { - "extension_schema": "https://raw.githubusercontent.com/biocompute-objects/extension_domain/1.1.0/scm/scm_extension.json", - "scm_extension": { - "scm_repository": "https://github.com/CPTR-ReSeqTB/UVP", - "scm_type": "git", - "scm_commit": "9e8f588b3cd3f5eebde29f7d2879e1a1e1c1aed3", - "scm_path": "UVP/scripts/UVP.py" - } - } - ] - }, - "object_class": null, - "object_id": "http://127.0.0.1:8000/OTHER_000001/1.0", - "owner_group": "bco_api_user", - "owner_user": "bco_api_user", - "prefix": "OTHER", - "schema": "IEEE", - "state": "PUBLISHED", - "last_update": "2022-06-28T23:41:49.719Z" - } - }, - { - "model": "api.bco", - "pk": 12, - "fields": { - "contents": { - "object_id": "http://127.0.0.1:8000/TEST_000001/1.2", - "spec_version": "https://w3id.org/ieee/ieee-2791-schema/2791object.json", - "etag": "998f0b8a499bd88952f945367c17d62e95611c9d026fb0713b84a5fa9bfb745d", - "provenance_domain": { - "name": "ARGOSdb QC related annotation data property list", - "version": "1.2", - "created": "2022-02-07T17:36:05.872Z", - "modified": "2022-02-15T14:35:54.116922", - "contributors": [ - { - "contribution": [ - "createdBy", - "authoredBy", - "contributedBy" - ], - "name": "Charles Hadley King", - "affiliation": "George Washington University", - "email": "hadley_king@gwu.edu", - "orcid": "https://orcid.org/0000-0003-1409-4549" - }, - { - "contribution": [ - "curatedBy", - "contributedBy" - ], - "name": "Stephanie Singleton", - "affiliation": "The George Washington University ", - "email": "ssingleton@gwu.edu" - }, - { - "contribution": [ - "createdBy", - "curatedBy" - ], - "name": "Jonathon Keeney", - "affiliation": "The George Washington University ", - "email": "keeneyjg@gwu.edu" - }, - { - "name": "Raja Mazumder", - "contribution": [ - "curatedBy" - ], - "affiliation": "The George Washington University ", - "email": "mazumder@gwu.edu", - "orcid": "https://orcid.org/0000-0001-8823-9945" - } - ], - "license": "https://github.com/FDA-ARGOS/data.argosdb/blob/v0.4_Feb/LICENSE" - }, - "usability_domain": [ - "List of controlled vocabulary terms for ARGOSdb annotation and metadata table data properties.", - "This sheet was created to aid in the integration of ARGOS data from many disparate sources. Each of the column headers in each of the respective data sheets displayed on www.data.argosdb.org was recommended by project members and collaborators from the FDA. The resulting list was manually curated to combine similar terms, and provide a consistent representation across all datasets in ARGOSdb.", - "The final result here is a list of properties and descriptive information about the property. The following are the column headers and their meaning: Property - consensus name for data property described in row. Data Object Type - The dataset this property is used in. Optional/Required - indicates if the property is REQUIRED to hava a valid data row. $id - For JSON schema conversion. Title - Human readable name for property. Default is the same as property. Type - property type as defined by JSON types. default - a default value for property. examples - and example for the property. pattern - the regular expression evaluation for this property. description - A definition and additional information about the property.", - "The primary use case for this property definition list is to ensure all data submitted to data.argosdb.org is following a consistent representation, and adhears to a controlled vocabulary of data properties." - ], - "description_domain": { - "keywords": [ - "curation", - "definitions", - "ontology", - "controlled vocabulary" - ], - "pipeline_steps": [ - { - "step_number": 1, - "name": "Header download", - "description": "Create a text file with the headers from each data sheet published for v0.3. Using the command `head -1 > ~/headers.txt`", - "prerequisite": [], - "input_list": [ - { - "uri": "http://data.argosdb.org/ln2downloads/argosdb_qc/02_15_2022/SRA_ngsQC.tsv", - "filename": "SRA_ngsQC.tsv" - }, - { - "uri": "http://data.argosdb.org/ln2downloads/argosdb_qc/02_15_2022/PRJNA231221_AssemblyUpdated.tsv", - "filename": "PRJNA231221_AssemblyUpdated.tsv" - }, - { - "uri": "http://data.argosdb.org/ln2downloads/argosdb_qc/02_15_2022/sars-cov-2_lineage_mutations.tsv", - "filename": "sars-cov-2_lineage_mutations.tsv" - } - ], - "output_list": [ - { - "uri": "https://argosdb-vm-dev/software/argosdb/home/headers.txt", - "filename": "headers.txt" - } - ] - }, - { - "step_number": 2, - "name": "Manual Curation", - "description": "Manual curation of headers.txt into a curated list of terms with definitions.", - "prerequisite": [], - "input_list": [ - { - "uri": "https://argosdb-vm-dev/software/argosdb/home/headers.txt" - } - ], - "output_list": [ - { - "uri": "https://data.argosdb.org/ ln2data/02_15_2022/annotation_property_list.tsv", - "access_time": "2022-02-03T13:42:44-0500", - "filename": "annotation_property_list.tsv" - } - ] - } - ] - }, - "execution_domain": { - "script": [ - { - "uri": { - "uri": "https://docs.google.com/spreadsheets/d/1EbHiGSmv6ZTGk6erQCl1oH8ye7EFuQPwKfWS5_7Cn60/edit#gid=0", - "filename": "FINAL_v0.3_argos_dict" - } - } - ], - "script_driver": "Google Drive/Sheets", - "software_prerequisites": [ - { - "name": "Microsof Excel", - "version": "16.57", - "uri": { - "uri": "https://www.microsoft.com/en-us/microsoft-365/excel" - } - } - ], - "external_data_endpoints": [ - { - "name": "data.ARGOSdb.org", - "url": "data.ARGOSdb.org" - }, - { - "name": "Google Drive", - "url": "https://drive.google.com/drive/u/3/folders/1uUa4UYG3dd6yTOdxiyoav6qktit4-J-9" - } - ], - "environment_variables": {} - }, - "io_domain": { - "input_subdomain": [ - { - "uri": { - "uri": "http://data.argosdb.org/ln2downloads/argosdb_qc/02_15_2022/SRA_ngsQC.tsv", - "filename": "SRA_ngsQC.tsv" - } - }, - { - "uri": { - "uri": "http://data.argosdb.org/ln2downloads/argosdb_qc/02_15_2022/PRJNA231221_AssemblyUpdated.tsv", - "filename": "PRJNA231221_AssemblyUpdated.tsv" - } - }, - { - "uri": { - "uri": "http://data.argosdb.org/ln2downloads/argosdb_qc/02_15_2022/sars-cov-2_lineage_mutations.tsv", - "filename": "sars-cov-2_lineage_mutations.tsv" - } - } - ], - "output_subdomain": [ - { - "mediatype": "text/tsv", - "uri": { - "uri": "https://data.argosdb.org/ ln2data/02_15_2022/annotation_property_list.tsv", - "access_time": "2022-02-03T13:42:44-0500", - "filename": "annotation_property_list.tsv" - } - } - ] - }, - "parametric_domain": [], - "error_domain": { - "empirical_error": {}, - "algorithmic_error": {} - }, - "extension_domain": [ - { - "extension_schema": "http://www.w3id.org/biocompute/extension_domain/1.2.0/dataset/dataset_extension.json", - "dataset_extension": { - "additional_license": { - "data_license": "https://creativecommons.org/licenses/by/4.0/", - "script_license": "https://www.gnu.org/licenses/gpl-3.0.en.html" - }, - "dataset_categories": [ - { - "category_value": "Other", - "category_name": "species" - }, - { - "category_value": "Other", - "category_name": "molecule" - }, - { - "category_value": "non-core", - "category_name": "priority" - }, - { - "category_value": "Dictionary", - "category_name": "species" - }, - { - "category_value": "tsv", - "category_name": "file_type" - }, - { - "category_value": "reviewed", - "category_name": "status" - } - ] - } - } - ] - }, - "object_class": null, - "object_id": "http://127.0.0.1:8000/TEST_000001/1.2", - "owner_group": "bco_api_user", - "owner_user": "test50", - "prefix": "TEST", - "schema": "IEEE", - "state": "PUBLISHED", - "last_update": "2022-06-28T23:44:58.161Z" - } - }, - { - "model": "api.groupinfo", - "pk": 1, - "fields": { - "delete_members_on_group_deletion": false, - "description": "Group administrators", - "expiration": null, - "group": "group_admins", - "max_n_members": -1, - "owner_user": "wheel" - } - }, - { - "model": "api.groupinfo", - "pk": 2, - "fields": { - "delete_members_on_group_deletion": false, - "description": "Prefix administrators", - "expiration": null, - "group": "prefix_admins", - "max_n_members": -1, - "owner_user": "wheel" - } - }, - { - "model": "api.groupinfo", - "pk": 3, + "model": "authtoken.token", + "pk": "705531f3b2fbf80bb5a5b9d0cf4ee663676b4579", "fields": { - "delete_members_on_group_deletion": false, - "description": "Just a test prefix.", - "expiration": null, - "group": "test_drafter", - "max_n_members": -1, - "owner_user": "bco_api_user" + "user": 4, + "created": "2024-03-14T15:21:14.996Z" } }, { - "model": "api.groupinfo", - "pk": 4, + "model": "authtoken.token", + "pk": "82d6e38c7f389f7637944f9884c351a19b61e6e8", "fields": { - "delete_members_on_group_deletion": false, - "description": "Just a test prefix.", - "expiration": null, - "group": "test_publisher", - "max_n_members": -1, - "owner_user": "bco_api_user" + "user": 2, + "created": "2024-03-14T13:53:53.090Z" } }, { - "model": "api.groupinfo", - "pk": 5, + "model": "authtoken.token", + "pk": "b8e588c4bdfb366420007827054042e8e594ec51", "fields": { - "delete_members_on_group_deletion": false, - "description": "Just an other prefix.", - "expiration": null, - "group": "other_drafter", - "max_n_members": -1, - "owner_user": "bco_api_user" + "user": 1, + "created": "2024-03-14T13:53:45.793Z" } }, { - "model": "api.groupinfo", - "pk": 6, + "model": "authtoken.token", + "pk": "ba1a932a6af59930293e087c1633fa60927b6690", "fields": { - "delete_members_on_group_deletion": false, - "description": "Just an other prefix.", - "expiration": null, - "group": "other_publisher", - "max_n_members": -1, - "owner_user": "bco_api_user" + "user": 6, + "created": "2024-03-14T15:21:09.348Z" } }, { - "model": "api.prefix_table", + "model": "authentication.authentication", "pk": 1, "fields": { - "n_objects": 8, - "prefix": "BCO" - } - }, - { - "model": "api.prefix_table", - "pk": 2, - "fields": { - "n_objects": 3, - "prefix": "TEST" - } - }, - { - "model": "api.prefix_table", - "pk": 3, - "fields": { - "n_objects": 3, - "prefix": "OTHER" + "username": "bco_api_user", + "auth_service": [ + { + "iss": "Reeya1", + "sub": "ReeyaGupta1" + } + ] } }, { - "model": "api.prefix", + "model": "authentication.newuser", "pk": 1, "fields": { - "certifying_server": null, - "certifying_key": null, - "created": "2022-05-10T20:35:14.712Z", - "created_by": "bco_publisher", - "description": null, - "expires": null, - "owner_group": "bco_publisher", - "owner_user": "bco_publisher", - "prefix": "BCO" + "email": "test_new_user@testing.com", + "temp_identifier": "sample_temp_identifier", + "token": "token", + "hostname": "http://localhost:8000/", + "created": "2024-03-14T14:28:32Z" } }, { - "model": "api.prefix", - "pk": 2, - "fields": { - "certifying_server": null, - "certifying_key": null, - "created": "2022-05-10T21:48:32.633Z", - "created_by": "bco_api_user", - "description": "Just a test prefix.", - "expires": null, - "owner_group": "bco_api_user", - "owner_user": "bco_api_user", - "prefix": "TEST" - } - }, - { - "model": "api.prefix", - "pk": 3, + "model": "prefix.prefix", + "pk": "BCO", "fields": { - "certifying_server": null, - "certifying_key": null, - "created": "2022-05-10T21:48:35.104Z", - "created_by": "bco_api_user", - "description": "Just an other prefix.", - "expires": null, - "owner_group": "bco_api_user", - "owner_user": "bco_api_user", - "prefix": "OTHER" + "certifying_key": "1", + "created": "2024-03-14T13:53:59Z", + "description": "Default prefix for all BioCompute Objects", + "owner": "AnonymousUser", + "authorized_groups": [] } } ] \ No newline at end of file diff --git a/tests/test_database.py b/tests/test_database.py deleted file mode 100644 index 859a25d9..00000000 --- a/tests/test_database.py +++ /dev/null @@ -1,45 +0,0 @@ - -from django.test import TestCase -from django.db import connection -from django.conf import settings -import os -import sys - -sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) - - -''' - the test confirms that the default database configuration is correctly - set to use SQLite3, as specified in the settings.py file. - -''' - -class DatabaseSettingsTestCase(TestCase): - def test_default_database_configuration(self): - # Retrieve the default database configuration from settings - database_config = settings.DATABASES.get("default", {}) - - # Assert that the database engine is set to SQLite3 - self.assertEqual(database_config["ENGINE"], "django.db.backends.sqlite3") - -''' - This test checks that the database is properly configured and a connection can be established. - identifyies any issues with the database configuration or connectivity. - -''' - -class DatabaseConnectionTestCase(TestCase): - def test_database_connection(self): - #test the database connection - with connection.cursor() as cursor: - cursor.execute("SELECT 1") - - #get the result of the query - result = cursor.fetchone() - - # Assert - self.assertEqual(result[0], 1) - - - def test_database_name(self): - assert settings.DATABASES['default']['NAME'] is not None \ No newline at end of file diff --git a/tests/test_fixtures.py b/tests/test_fixtures.py deleted file mode 100644 index af1c3d9c..00000000 --- a/tests/test_fixtures.py +++ /dev/null @@ -1,119 +0,0 @@ -from django.test import TestCase -from django.db import connections -from pathlib import Path -from django.conf import settings -import shutil -import tempfile - -class DatabaseTestCase(TestCase): - def setUp(self): - # Creating a temporary directory for the databasSSe - self.tmp_dir = tempfile.mkdtemp() - tmp_db_path = Path(self.tmp_dir) / 'db.sqlite3' - - # Copying the dev database to the temporary directory - shutil.copy2(Path(settings.BASE_DIR) / 'admin_only' / 'db.sqlite3.dev', tmp_db_path) - - # Updating the database settings to use the temporary database - settings.DATABASES['default']['NAME'] = str(tmp_db_path) - - # connection to the temporary database - self.connection = connections['default'] - - # def tearDown(self): - # # Cleanup: Delete the temporary directory and database - # shutil.rmtree(self.tmp_dir) - - def test_table_data(self): - - # SQL query to retrieve all table names from the temporary database - with self.connection.cursor() as cursor: - #sqlite_master= special table in SQLite. contains all metadata about db - cursor.execute("SELECT name FROM sqlite_master WHERE type='table';") - table_names = cursor.fetchall() - - # Print the table names for comparison with the terminal output - print('Table Names:', table_names) - - #self.assertEqual(table_names, expected_data) - - - # sql query to retrieve table data from the temporary database - with self.connection.cursor() as cursor: - cursor.execute('SELECT * FROM authtoken_token;') - table_data = cursor.fetchall() - - print('Fetched Data:', table_data) - - #self.assertEqual(table_data, expected_data) - - - - - - - - - - - - - - - - - - - - - - - - - -''' -def test_my_database_function(dev_database): - # Asserting that the temporary database path is returned by the fixture - assert dev_database.endswith('db.sqlite3.dev') - - # Asserting that the temporary database file exists - assert Path(dev_database).exists() - - # Asserting that database settings have been updated - assert settings.DATABASES['default']['NAME'] == dev_database - - -## -def test_access_database_content(dev_database): - # Perform necessary database operations using the dev_database fixture - # For example, retrieve data from a specific table or perform a query - - # Connectibng to the SQLite database - conn = sqlite3.connect(dev_database) - cursor = conn.cursor() - - # SQL query to retrieve data from the api_bco table - cursor.execute("SELECT * FROM api_bco") - - - rows = cursor.fetchall() - - # Printing data - for row in rows: - print(row) - - # Close the database connection - cursor.close() - conn.close() - - - - # Assert that the SQL query returned the expected results - assert len(results) > 0 - assert results[0][0] == 'expected_value' - - - return 'Test completed successfully' - -''' - diff --git a/tests/test_models b/tests/test_models deleted file mode 100644 index c31f4fd8..00000000 --- a/tests/test_models +++ /dev/null @@ -1,33 +0,0 @@ -from django.test import TestCase -from django.db import models -from django.db.migrations.executor import MigrationExecutor -from django.db.migrations.loader import MigrationLoader -from django.db import connection - - -class DatabaseModelsTestCase(TestCase): - def test_model_definition(self): - #loading migrations - loader = MigrationLoader(connection=connection) - migrations = loader.graph.leaf_nodes(loader.graph.ancestors(loader.graph.leaf_nodes('bco_api'))) - - #all migrations applied??? - executor = MigrationExecutor(connection) - executor.migrate('bco_api', migrations) - - #model classes - models_module = __import__('bco_api.api.model', fromlist=['*']) - model_classes = [getattr(models_module, name) for name in dir(models_module) if - isinstance(getattr(models_module, name), type(models.Model))] - - # can models be used to create database tables??check./ and cretaing temp table to validate model - for model_class in model_classes: - - with connection.schema_editor() as schema_editor: - schema_editor.create_model(model_class) - - # Assertting table exists in the database - self.assertIn(model_class._meta.db_table, connection.introspection.table_names()) - - #del the temp table - schema_editor.delete_model(model_class) diff --git a/tests/test_views/test_api_account_activate.py b/tests/test_views/test_api_account_activate.py index eea7ea52..5a0340fd 100644 --- a/tests/test_views/test_api_account_activate.py +++ b/tests/test_views/test_api_account_activate.py @@ -45,6 +45,6 @@ def test_account_activated_conflict(self): has already been activated.' """ - bad_link = "test%40testing.com/sample_temp_identifier" + bad_link = "tester%40testing.com/sample_temp_identifier" response = self.client.get(f'/api/accounts/activate/{bad_link}') self.assertEqual(response.status_code, 409) \ No newline at end of file diff --git a/tests/test_views/test_api_accounts_describe.py b/tests/test_views/test_api_account_describe.py similarity index 100% rename from tests/test_views/test_api_accounts_describe.py rename to tests/test_views/test_api_account_describe.py diff --git a/tests/test_views/test_api_auth_add.py b/tests/test_views/test_api_auth_add.py index 9a701cb7..a7843b3b 100644 --- a/tests/test_views/test_api_auth_add.py +++ b/tests/test_views/test_api_auth_add.py @@ -22,7 +22,7 @@ def test_credentials_created_response(self): """Add authentication is successful (200) """ - token = Token.objects.get(user=User.objects.get(username='test50')).key + token = Token.objects.get(user=User.objects.get(username='tester')).key data = {"iss": "Reeya1","sub": "ReeyaGupta1"} self.client.credentials(HTTP_AUTHORIZATION='Token ' + token) @@ -43,7 +43,7 @@ def test_bad_request_response(self): """Bad request (400) """ - token = Token.objects.get(user=User.objects.get(username='test50')).key + token = Token.objects.get(user=User.objects.get(username='tester')).key data = {"Missing required fields"} self.client.credentials(HTTP_AUTHORIZATION='Token ' + token) response = self.client.post('/api/auth/add/', data=data, format='json') diff --git a/tests/test_views/test_api_auth_reset_token.py b/tests/test_views/test_api_auth_reset_token.py index 991541ff..8ff77b20 100644 --- a/tests/test_views/test_api_auth_reset_token.py +++ b/tests/test_views/test_api_auth_reset_token.py @@ -19,16 +19,15 @@ def test_reset_successful(self): """Token reset is successful. 200 """ - token = Token.objects.get(user=User.objects.get(username='test50')).key + token = Token.objects.get(user=User.objects.get(username='tester')).key self.client.credentials(HTTP_AUTHORIZATION='Token ' + token) response = self.client.post('/api/auth/reset_token/') self.assertEqual(response.status_code, 200) def test_invalid_token(self): - """Inclid token. 403 + """Invalid token. 403 """ - # token = Token.objects.get(user=User.objects.get(username='test50')).key token = 'this-is-an-invalid-token' self.client.credentials(HTTP_AUTHORIZATION='Token ' + token) response = self.client.post('/api/auth/reset_token/') diff --git a/tests/test_views/test_api_groups_group_info.py b/tests/test_views/test_api_groups_group_info.py deleted file mode 100644 index 4af7599b..00000000 --- a/tests/test_views/test_api_groups_group_info.py +++ /dev/null @@ -1,89 +0,0 @@ -#!/usr/bin/env python3 - -"""Group info -Tests for 'Success. Group permissions returned (200)', 'Forbidden. Invalid -token. (403)', Forbidden response (400) -""" - - -from django.test import TestCase -from rest_framework.test import APIClient -from rest_framework.authtoken.models import Token -from django.contrib.auth.models import User -from api.model.groups import GroupInfo, Group - - -class GroupInfoAPITestCase(TestCase): - fixtures = ['tests/fixtures/test_data'] - - def setUp(self): - self.client = APIClient() - - def test_success_response(self): - """Tests for 'Success. Group permissions returned (200)' - """ - - token = Token.objects.get(user=User.objects.get(username='test50')).key - - data = { - "POST_api_groups_info": { - "names": [ - "bco_drafter", "bco_publisher", "test50", "test_drafter", "other_drafter" - ] - } - } - - self.client.credentials(HTTP_AUTHORIZATION='Token ' + token) - response = self.client.post('/api/groups/group_info/', data=data, format='json') - - self.assertEqual(response.status_code, 200) - self.assertEqual(len(response.json()), 5) - - def test_unauthorized(self): - """Tests for 'Forbidden. Invalid token. (403)' - """ - - data = { - "POST_api_groups_info": { - "names": [ - "bco_drafter", "bco_publisher", "test50", "test_drafter" - ] - } - } - - response = self.client.post('/api/groups/group_info/', data=data, format='json') - self.assertEqual(response.status_code, 403) - - def test_unauthorized_response(self): - """ - """ - - data = { - "POST_api_groups_info": { - "names": [ - "bco_drafter", "bco_publisher", "test50", "test_drafter" - ] - } - } - - self.client.credentials(HTTP_AUTHORIZATION='Token InvalidToken') - response = self.client.post('/api/groups/group_info/', data=data, format='json') - self.assertEqual(response.status_code, 403) - - def test_bad_request(self): - """ - """ - - token = Token.objects.get(user=User.objects.get(username='test50')).key - - data = { - "POST_api_groups_info": { - "bad_names": { - "bco_drafter", "bco_publisher", "test50", "test_drafter" - } - } - } - - self.client.credentials(HTTP_AUTHORIZATION='Token ' + token) - response = self.client.post('/api/groups/group_info/', data=data, format='json') - self.assertEqual(response.status_code, 400) \ No newline at end of file diff --git a/tests/test_views/test_api_groups_modify.py b/tests/test_views/test_api_groups_modify.py deleted file mode 100644 index abd7d829..00000000 --- a/tests/test_views/test_api_groups_modify.py +++ /dev/null @@ -1,90 +0,0 @@ - -#!/usr/bin/env python3 - -"""Group info -Tests for 'Authorization is successful. Group permissions returned' (200), -Forbidden response (400) -""" - - -from django.test import TestCase -from rest_framework.test import APIClient -from rest_framework.authtoken.models import Token -from django.contrib.auth.models import User, Group -from api.models import BCO -from api.model.groups import GroupInfo - - -class GroupInfoAPITestCase(TestCase): - fixtures = ['tests/fixtures/test_data'] - - def setUp(self): - self.client = APIClient() - - def test_success_response(self): - """Successful request with authentication data - """ - - old_name = "test_drafter" - new_name = "new_name" - old_bco_counts = len(BCO.objects.filter(owner_group=old_name)) - old_group_counts = len(Group.objects.filter(name=old_name)) - old_groupInfo_counts = len(GroupInfo.objects.filter(group=old_name)) - - token = Token.objects.get(user=User.objects.get(username='test50')).key - - data = { - "POST_api_groups_modify": [ - { - "name": old_name, - "actions": { - "rename": new_name - } - } - ] - } - - self.client.credentials(HTTP_AUTHORIZATION='Token ' + token) - response = self.client.post('/api/groups/modify/', data=data, format='json') - new_bco_counts = len(BCO.objects.filter(owner_group=new_name)) - new_group_counts = len(Group.objects.filter(name=new_name)) - new_groupInfo_counts = len(GroupInfo.objects.filter(group=new_name)) - self.assertEqual(response.status_code, 200) - self.assertEqual(new_bco_counts, old_bco_counts) - self.assertEqual(new_group_counts, old_group_counts) - self.assertEqual(new_groupInfo_counts, old_groupInfo_counts) - - def test_bad_request_response(self): - """Bad request: Authorization is not provided in the request headers - Gives 403 instead of 400 - """ - - token = Token.objects.get(user=User.objects.get(username='test50')).key - - data = { - "POST_api_groups_info": { - "names": ["anon", "wheel"] - } - } - self.client.credentials(HTTP_AUTHORIZATION='Token ' + token) - response = self.client.post('/api/groups/modify/', data=data, format='json') - self.assertEqual(response.status_code, 400) - - def test_unauthorized_response(self): - # Unauthorized: Authentication credentials were not valid - #Gives 403 instead of 401 - - data = { - "POST_api_groups_modify": [ - { - "name": "old_name", - "actions": { - "rename": "new_name" - } - } - ] - } - - self.client.credentials(HTTP_AUTHORIZATION='Token InvalidToken') - response = self.client.post('/api/groups/group_info/', data=data, format='json') - self.assertEqual(response.status_code, 403) \ No newline at end of file diff --git a/tests/test_views/test_api_objects.py b/tests/test_views/test_api_objects.py deleted file mode 100644 index 780f2257..00000000 --- a/tests/test_views/test_api_objects.py +++ /dev/null @@ -1,82 +0,0 @@ -#!/usr/bin/env python3 - -"""Search the BCODB -Tests for endpoint for use of query string based search. - Four parameters are defined by this API: - 1. contents: Search in the contents of the BCO - 2. prefix: BCO Prefix to search - 3. owner_user: Search by BCO owner - 4. object_id: BCO object_id to search for -""" - -from django.test import TestCase -from rest_framework.test import APIClient -from rest_framework.authtoken.models import Token -from django.contrib.auth.models import User -from rest_framework.test import APITestCase - -class ObjectsTestCase(APITestCase): - fixtures = ['tests/fixtures/test_data'] - - def setUp(self): - self.client = APIClient() - - def test_search_contents(self): - """Search successfull. 200 - """ - - token = Token.objects.get(user=User.objects.get(username='bco_api_user')).key - self.client.credentials(HTTP_AUTHORIZATION='Token ' + token) - response = self.client.get('http://localhost:8000/api/objects/?contents=review') - self.assertEqual(response.status_code, 200) - self.assertEqual(len(response.json()[0]), 13) - - def test_search_prefix(self): - """Search successfull. 200 - """ - - token = Token.objects.get(user=User.objects.get(username='bco_api_user')).key - self.client.credentials(HTTP_AUTHORIZATION='Token ' + token) - response = self.client.get('/api/objects/?prefix=TEST') - self.assertEqual(response.status_code, 200) - self.assertEqual(len(response.json()[0]), 3) - - def test_search_owner_user(self): - """Search successfull. 200 - """ - - token = Token.objects.get(user=User.objects.get(username='bco_api_user')).key - self.client.credentials(HTTP_AUTHORIZATION='Token ' + token) - response = self.client.get('http://localhost:8000/api/objects/?owner_user=test50') - self.assertEqual(response.status_code, 200) - self.assertEqual(len(response.json()[0]), 5) - - def test_search_object_id(self): - """Search successfull. 200 - """ - - token = Token.objects.get(user=User.objects.get(username='bco_api_user')).key - self.client.credentials(HTTP_AUTHORIZATION='Token ' + token) - response = self.client.get('http://localhost:8000/api/objects/?object_id=DRAFT') - self.assertEqual(response.status_code, 200) - self.assertEqual(len(response.json()[0]), 6) - - def test_search_all(self): - """Search successfull. 200 - """ - - token = Token.objects.get(user=User.objects.get(username='bco_api_user')).key - self.client.credentials(HTTP_AUTHORIZATION='Token ' + token) - response = self.client.get('/api/objects/?') - self.assertEqual(response.status_code, 200) - self.assertEqual(len(response.json()[0]), 13) - - def test_search_multi_value(self): - """Search successfull. 200 - """ - - token = Token.objects.get(user=User.objects.get(username='bco_api_user')).key - self.client.credentials(HTTP_AUTHORIZATION='Token ' + token) - response = self.client.get('http://localhost:8000/api/objects/?contents=HCV&contents=DRAFT') - self.assertEqual(response.status_code, 200) - self.assertEqual(len(response.json()[0]), 2) \ No newline at end of file diff --git a/tests/test_views/test_api_objects_drafts_create.py b/tests/test_views/test_api_objects_drafts_create.py deleted file mode 100644 index 1808087b..00000000 --- a/tests/test_views/test_api_objects_drafts_create.py +++ /dev/null @@ -1,111 +0,0 @@ - -#!/usr/bin/env python3 - -"""Objects/Drafts_create -Tests for 'Creation of BCO draft is successful.' (200), -returns 207, 403 (needs to be reviewed) -""" - - -import json -from django.test import TestCase -from django.contrib.auth.models import User -from rest_framework.authtoken.models import Token -from rest_framework.test import APIClient - -class BcoDraftCreateTestCase(TestCase): - fixtures = ['tests/fixtures/test_data'] - def setUp(self): - self.client = APIClient() - - # Checking if the user 'bco_api_user' already exists - try: - self.user = User.objects.get(username='bco_api_user') - except User.DoesNotExist: - self.user = User.objects.create_user(username='bco_api_user') - - # Checking if user already has token, if not then creating one - if not Token.objects.filter(user=self.user).exists(): - self.token = Token.objects.create(user=self.user) - else: - self.token = Token.objects.get(user=self.user) - - def test_successful_creation(self): - """200: Creation of BCO draft is successful. - """ - - - data = { - 'POST_api_objects_draft_create': [ - { - 'prefix': 'BCO', - 'owner_group': 'bco_drafter', - 'schema': 'IEEE', - 'contents': {} - }, - - ] - } - self.client.credentials(HTTP_AUTHORIZATION='Token ' + self.token.key) - response = self.client.post('/api/objects/drafts/create/', data, format='json') - self.assertEqual(response.status_code, 200) - - def test_partial_failure(self): - # Test case for partial failure (response code 300) - ##Returns 207(Multi status) instead of 300(Partial faliure) - data = { - 'POST_api_objects_draft_create': [ - { - 'prefix': 'BCO', - 'owner_group': 'bco_drafter', - 'schema': 'IEEE', - 'contents': {} - }, - { - 'prefix': 'Reeyaa', - 'owner_group': 'bco_drafter', - 'schema': 'IEEE', - 'contents': {} - } - ] - } - self.client.credentials(HTTP_AUTHORIZATION='Token ' + self.token.key) - response = self.client.post('/api/objects/drafts/create/', data=data, format='json') - self.assertEqual(response.status_code, 207) - - def test_bad_request(self): - # Test case for bad request (response code 400) - #Gives 403 forbidden request instead of 400 - data = { - 'POST_api_objects_draft_create': [ - { - 'prefix': 'BCO', - 'owner_group': 'bco_drafter', - 'schema': 'IEEE', - 'contents': {} - }, - - ] - } - #self.client.credentials(HTTP_AUTHORIZATION='Token ' + self.token.key) - response = self.client.post('/api/objects/drafts/create/', data=data, format='json') - self.assertEqual(response.status_code, 403) - - def test_invalid_token(self): - # Test case for invalid token (response code 403) - # Setting authentication token to an invalid value - - data = { - 'POST_api_objects_draft_create': [ - { - 'prefix': 'BCO', - 'owner_group': 'bco_drafter', - 'schema': 'IEEE', - 'contents': {} - }, - - ] - } - self.client.credentials(HTTP_AUTHORIZATION='Token InvalidToken') - response = self.client.post('/api/objects/drafts/create/', data=data, format='json') - self.assertEqual(response.status_code, 403) diff --git a/tests/test_views/test_api_objects_drafts_modify.py b/tests/test_views/test_api_objects_drafts_modify.py deleted file mode 100644 index 1e1aa8d2..00000000 --- a/tests/test_views/test_api_objects_drafts_modify.py +++ /dev/null @@ -1,191 +0,0 @@ -#!/usr/bin/env python3 - -"""Bulk Modify BCO Draft -Tests for 200: 'All modifications of BCO drafts are successful.', -401: 'Unauthorized. Authentication credentials were not provided.', -400: 'Bad request.', 403: 'Invalid token.' and 207: 'Some or all BCO -modifications failed. Each object submitted will have it's own response object -with it's own status code and message: - "200: Success. The object with ID <'object_id'> was" - "updated.\n" - "400: Bad request. The request could not be processed with" - "the parameters provided." - "401: Prefix unauthorized. The token provided does not" - "have draft permissions for this prefix .\n" - "404: Not Found. The object ID was not found" - "on the server.\n" - "409: Conflict. The provided object_id does" - "not match the saved draft object_id ." - "Once a draft is created you can not change the object" - "id.\n", -""" - -import json -from django.test import TestCase -from rest_framework.test import APIClient -from rest_framework.authtoken.models import Token -from django.contrib.auth.models import User -from rest_framework.test import APITestCase -from api.models import BCO - -class ModifyBCODraftTestCase(APITestCase): - fixtures = ['tests/fixtures/test_data'] - - def setUp(self): - self.client = APIClient() - - def test_modify_bco_draft_success(self): - """Tests for 200: 'All modifications of BCO drafts are successful.' - """ - - token = Token.objects.get(user=User.objects.get(username='test50')).key - bco_0 = BCO.objects.get(object_id='http://127.0.0.1:8000/BCO_000000/DRAFT').contents - bco_1 = BCO.objects.get(object_id='http://127.0.0.1:8000/BCO_000001/DRAFT').contents - - bco_0['provenance_domain']['version'] = '99.9' - bco_1['provenance_domain']['version'] = '88.8' - - submission = { - "POST_api_objects_drafts_modify": [ - { - "object_id": bco_0['object_id'], - "contents": bco_0 - }, - { - "object_id": bco_1['object_id'], - "contents": bco_1 - } - ] - } - self.client.credentials(HTTP_AUTHORIZATION='Token ' + token) - response = self.client.post('/api/objects/drafts/modify/', data=submission, format='json') - test_case_1 = BCO.objects.get(object_id='http://127.0.0.1:8000/BCO_000001/DRAFT').contents - - self.assertEqual(test_case_1['provenance_domain']['version'], '88.8') - self.assertEqual(response.status_code, 200) - - def test_bulk_modification_fail(self): - """Test for 207: 'Some or all BCO modifications failed. Each object - submitted will have it's own response object with it's own status - code and message: - "200: Success. The object with ID <'object_id'> was" - "updated.\n" - "400: Bad request. The request could not be processed with" - "the parameters provided." - "401: Prefix unauthorized. The token provided does not" - "have draft permissions for this prefix .\n" - "404: Not Found. The object ID was not found" - "on the server.\n" - "409: Conflict. The provided object_id does" - "not match the saved draft object_id ." - "Once a draft is created you can not change the object" - "id.\n", - """ - - token = Token.objects.get(user=User.objects.get(username='test50')).key - - bco_0 = BCO.objects.get(object_id='http://127.0.0.1:8000/BCO_000000/DRAFT').contents - bco_1 = BCO.objects.get(object_id='http://127.0.0.1:8000/BCO_000001/DRAFT').contents - bco_3 = BCO.objects.get(object_id='http://127.0.0.1:8000/OTHER_000001/DRAFT').contents - - bco_0['provenance_domain']['version'] = '88.8' - bco_1['object_id'] = 'http://127.0.0.1:8000/BCO_100000/DRAFT' - - submission = { - "POST_api_objects_drafts_modify": [ - { - "object_id": bco_0['object_id'], - "contents": bco_0 - }, - { - "object_id": 'object_id', - "contents": bco_0 - }, - { - "object_id": 'http://127.0.0.1:8000/BCO_100000/DRAFT', - "contents": bco_1 - }, - { - "object_id": 'http://127.0.0.1:8000/BCO_000000/DRAFT', - "contents": bco_1 - }, - { - "object_id": bco_3['object_id'], - "contents": bco_3 - } - ] - } - self.client.credentials(HTTP_AUTHORIZATION='Token ' + token) - response = self.client.post('/api/objects/drafts/modify/', data=submission, format='json') - - self.assertEqual(response.status_code, 207) - self.assertEqual(response.json()[0]['status_code'], '200') - self.assertEqual(response.json()[1]['status_code'], '400') - self.assertEqual(response.json()[2]['status_code'], '404') - self.assertEqual(response.json()[3]['status_code'], '409') - self.assertEqual(response.json()[4]['status_code'], '401') - - def test_unauthorized(self): - """Test for 401: Unauthorized. Authentication credentials were not - provided. - """ - bco_0 = BCO.objects.get(object_id='http://127.0.0.1:8000/BCO_000000/DRAFT').contents - bco_1 = BCO.objects.get(object_id='http://127.0.0.1:8000/BCO_000001/DRAFT').contents - - bco_0['provenance_domain']['version'] = '99.9' - bco_1['provenance_domain']['version'] = '88.8' - - submission = { - "POST_api_objects_drafts_modify": [ - { - "object_id": bco_0['object_id'], - "contents": bco_0 - }, - { - "object_id": bco_1['object_id'], - "contents": bco_1 - } - ] - } - - response = self.client.post('/api/objects/drafts/modify/', data=submission, format='json') - self.assertEqual(response.status_code, 403) - - def test_bad_request(self): - """Test for 400: Bad request. - """ - - token = Token.objects.get(user=User.objects.get(username='test50')).key - - bco_0 = BCO.objects.get(object_id='http://127.0.0.1:8000/BCO_000000/DRAFT').contents - bco_1 = BCO.objects.get(object_id='http://127.0.0.1:8000/BCO_000001/DRAFT').contents - - bco_0['provenance_domain']['version'] = '99.9' - bco_1['provenance_domain']['version'] = '88.8' - - submission = { - "POST": [ - { - "object_id": bco_0['object_id'], - "contents": bco_0 - }, - { - "object_id": bco_1['object_id'], - "contents": bco_1 - } - ] - } - - self.client.credentials(HTTP_AUTHORIZATION='Token ' + token) - response = self.client.post('/api/objects/drafts/modify/', data=submission, format='json') - self.assertEqual(response.status_code, 400) - - def test_invalid_token(self): - """Test for 403: Invalid token. - """ - - submission = {} - - self.client.credentials(HTTP_AUTHORIZATION='Token ' + 'token') - response = self.client.post('/api/objects/drafts/modify/', data=submission, format='json') - self.assertEqual(response.status_code, 403) \ No newline at end of file diff --git a/tests/test_views/test_api_objects_drafts_publish.py b/tests/test_views/test_api_objects_drafts_publish.py deleted file mode 100644 index e7087ac0..00000000 --- a/tests/test_views/test_api_objects_drafts_publish.py +++ /dev/null @@ -1,111 +0,0 @@ -#!/usr/bin/env python3 - -"""Test Bulk Publish BCOs -Tests for 'All BCO publications successful.' (200), 'Some or all publications -failed.' (207), 'Bad request.' (400), and 'Authentication credentials were not -provided.' (404) -""" - -from django.test import TestCase -from rest_framework.test import APIClient -from rest_framework.authtoken.models import Token -from django.contrib.auth.models import User -from rest_framework.test import APITestCase, APIClient - - -class PublishDraftBCOTestCase(TestCase): - fixtures = ['tests/fixtures/test_data'] - def setUp(self): - self.client = APIClient() - - def test_publish_bco_success(self): - """All BCO publications successful (200) - """ - - token = Token.objects.get(user=User.objects.get(username='test50')).key - - data = { - "POST_api_objects_drafts_publish": [ - { - "prefix": "BCO", - "draft_id": "http://127.0.0.1:8000/BCO_000000/DRAFT", - "delete_draft": False - }, - { - "prefix": "BCO", - "draft_id": "http://127.0.0.1:8000/BCO_000001/DRAFT", - "object_id" "http://127.0.0.1:8000/BCO_000000/1.1" - "delete_draft": False - } - ] - } - self.client.credentials(HTTP_AUTHORIZATION='Token ' + token) - response = self.client.post('/api/objects/drafts/publish/', data=data, format='json') - self.assertEqual(response.status_code, 200) - - def test_publish_bco_partial_failure(self): - """Some or all publications failed (207) - """ - - token = Token.objects.get(user=User.objects.get(username='test50')).key - - data = { - "POST_api_objects_drafts_publish": [ - { - "prefix": "BCO", - "draft_id": "http://127.0.0.1:8000/BCO_000001/DRAFT", - "delete_draft": False - }, - { - "prefix": "InvalidPrefix", - "draft_id": "InvalidDraftId", - "delete_draft": False - } - - ] - } - self.client.credentials(HTTP_AUTHORIZATION='Token ' + token) - response = self.client.post('/api/objects/drafts/publish/', data=data, format='json') - self.assertEqual(response.status_code, 207) - - def test_publish_bco_bad_request(self): - """Bad request (400) - """ - - token = Token.objects.get(user=User.objects.get(username='test50')).key - - data = { - "POST_wrong_thing": [ - { - "prefix": "BCO", - #"draft_id": "InvalidID", - "delete_draft": False - } - - ] - } - self.client.credentials(HTTP_AUTHORIZATION='Token ' + token) - response = self.client.post('/api/objects/drafts/publish/', data=data, format='json') - self.assertEqual(response.status_code, 400) - - def test_publish_bco_invalid_token(self): - """Authentication credentials were not provided. (404) - """ - - token = Token.objects.get(user=User.objects.get(username='test50')).key - - data = { - "POST_api_objects_drafts_publish": [ - { - "prefix": "BCO", - "draft_id": "http://127.0.0.1:8000/BCO_000000/DRAFT", - - "delete_draft": False - - } - ] - } - - self.client.credentials(HTTP_AUTHORIZATION='invalid token') - response = self.client.post('/api/objects/drafts/publish/', data=data, format='json') - self.assertEqual(response.status_code, 403) diff --git a/tests/test_views/test_api_objects_search.py b/tests/test_views/test_api_objects_search.py deleted file mode 100644 index fe5e74ce..00000000 --- a/tests/test_views/test_api_objects_search.py +++ /dev/null @@ -1,54 +0,0 @@ -#!/usr/bin/env python3 - -"""Objects Search -Tests for successful search (status code: 200), -prefix not found (status code: 404) -""" - -from django.test import TestCase -from rest_framework.test import APIClient -from rest_framework.authtoken.models import Token -from django.contrib.auth.models import User -from rest_framework.test import APITestCase - -#TODO: this needs refinement -class ObjectsSearchTestCase(APITestCase): - - fixtures = ['tests/fixtures/test_data'] - def setUp(self): - self.client = APIClient() - - def test_search_successful(self): - """Test case for a successful search (status code: 200) - """ - - token = Token.objects.get(user=User.objects.get(username='bco_api_user')).key - data = { - "POST_api_objects_search": [ - { - "type": "prefix", - "search": "TEST" - } - ] - } - self.client.credentials(HTTP_AUTHORIZATION='Token ' + token) - response = self.client.post("/api/objects/search/", data=data, format="json") - self.assertEqual(response.status_code, 200) - - def test_prefix_not_found(self): - """Test case for prefix not found (status code: 404) - """ - - token = Token.objects.get(user=User.objects.get(username='bco_api_user')).key - data = { - "POST_api_objects_search": [ - { - "type": "prefix", - "search": "invalidprefix" - } - ] - } - - self.client.credentials(HTTP_AUTHORIZATION='Token ' + token) - response = self.client.post("/api/objects/search/", data=data, format="json") - self.assertEqual(response.status_code, 404) \ No newline at end of file diff --git a/tests/test_views/test_api_objects_validate.py b/tests/test_views/test_api_objects_validate.py deleted file mode 100644 index 1d4bf9dc..00000000 --- a/tests/test_views/test_api_objects_validate.py +++ /dev/null @@ -1,90 +0,0 @@ -#!/usr/bin/env python3 - -"""Bulk Validate BCOs -Tests for 'Success. All BCOs are valid (200)', 'Forbidden. Invalid -token. (403)', Forbidden response (400) -""" - -import json -from api.models import BCO -from django.contrib.auth.models import User -from django.test import TestCase -from rest_framework.test import APIClient - -class BcoValidateTestCase(TestCase): - fixtures = ['tests/fixtures/test_data'] - - def setUp(self): - self.client = APIClient() - self.bco_1 = BCO.objects.filter(object_id__icontains='TEST_000001/DRAFT')[0].contents - self.bco_2 = {} - self.bco_3 = { - "object_id": "", - "spec_version": "https://w3id.org/ieee/ieee-2791-schema/2791object.json", - "etag": "da75a2c36dd6bf449d1f7b150197096e11c51812", - "provenance_domain": { - "name": "", - "version": "", - "license": "", - "created": "2023-09-05T18:10:23", - "modified": "2023-09-05T18:10:23.167Z", - "contributors": [ - { - "name": "", - "affiliation": "", - "email": "", - "contribution": [], - "orcid": "" - } - ] - }, - "usability_domain": [], - "description_domain": { - "pipeline_steps": [] - }, - "parametric_domain": [], - "io_domain": {}, - "execution_domain": { - "script": [], - "script_driver": "", - "software_prerequisites": [], - "external_data_endpoints": [], - "environment_variables": {} - }, - "extension_domain": [] - } - - - def test_successful_validation(self): - """Test case for failed validation (response code 207) - """ - - data = { - "POST_validate_bco": [ - self.bco_1 - ] - } - - response = self.client.post('/api/objects/validate/', data=data, format='json') - self.assertEqual(response.status_code, 200) - - def test_unsuccessful_validation(self): - """Test case for successful validation (response code 201) - """ - - data = { - "POST_validate_bco": [ - self.bco_1, - self.bco_2, - self.bco_3 - ] - } - - response = self.client.post('/api/objects/validate/', data=data, format='json') - # Test for successfull validation - self.assertEqual(response.json()[self.bco_1['object_id']]['number_of_errors'], 0) - # Test for failed validation: Empty object - self.assertEqual(response.json()['1']['number_of_errors'], 1) - # Test for failed validation: Blank object - self.assertEqual(response.json()['2']['number_of_errors'], 3) - self.assertEqual(response.status_code, 207) diff --git a/tests/test_views/test_api_prefixes_create.py b/tests/test_views/test_api_prefixes_create.py deleted file mode 100644 index 5741a497..00000000 --- a/tests/test_views/test_api_prefixes_create.py +++ /dev/null @@ -1,172 +0,0 @@ -#!/usr/bin/env python3 - -"""Bulk Create Prefixes -Tests for 'All prefixes were successfully created. 200', 'Some or all prefix -creations failed. 207', and 'Unauthorized. Authentication credentials were -not provided. 401' - -For the 207 response Each object submitted will have it's own response object -with it's own status code and message. These are as follows: - 201: The prefix * was successfully created. - 400: Bad Request. The expiration date * is not valid. - 400: Bad Request. The prefix * does not follow the naming rules for a prefix. - 403: Forbidden. User does not have permission to perform this action. - 404: Not Found. The user * was not found on the server. - 409: Conflict. The prefix the requestor is attempting to create already exists. - """ - -from django.test import TestCase -from rest_framework.test import APIClient -from rest_framework.authtoken.models import Token -from django.contrib.auth.models import User -from rest_framework.test import APITestCase -from django.contrib.auth.models import Group - -class CreatePrefixeTestCase(APITestCase): - fixtures=['tests/fixtures/test_data'] - - def setUp(self): - - self.client= APIClient() - - def test_create_prefix_success(self): - """The prefix was successfully created. 200 - """ - - token = Token.objects.get(user=User.objects.get(username='bco_api_user')).key - data = { - "POST_api_prefixes_create": [ - { - - - "owner_group": "test_drafter", - "owner_user": "bco_api_user", - "prefixes": [ - { - "description": "Just a test prefix.", - "prefix": "testR" - } - ] - } - ] - } - - self.client.credentials(HTTP_AUTHORIZATION='Token ' + token) - response = self.client.post('/api/prefixes/create/', data=data, format='json') - self.assertEqual(response.status_code, 200) - - def test_create_prefix_bad_request(self): - """Tests for 'Some or all prefix creations failed. 207.' - 201: The prefix * was successfully created. - 400: Bad Request. The expiration date * is not valid - 400: Bad Request. The prefix * does not follow the naming rules for a prefix. - 403: Forbidden. User does not have permission to perform this action. - 404: Not Found. The user * was not found on the server. - 409: Conflict. The prefix the requestor is attempting to create already exists. - """ - - token = Token.objects.get(user=User.objects.get(username='bco_api_user')).key - data = { - "POST_api_prefixes_create": [ - { - "owner_group": "test_drafter", - "owner_user": "bco_api_user", - "prefixes": [ - { - "description": "Invalid expiration date.", - "expiration_date": "2023-08-22T09:27:49-0400", - "prefix": "testR" - } - ] - }, - { - "owner_group": "test_drafter", - "owner_user": "bco_api_user", - "prefixes": [ - { - "description": "Invalid prefix naming.", - "expiration_date": "null", - "prefix": "invalid-prefix" - } - ] - }, - { - "owner_group": "does_not_exist", - "owner_user": "does_not_exist", - "prefixes": [ - { - "description": "Invalid owner.", - "prefix": "testR" - } - ] - }, - { - "owner_group": "test_drafter", - "owner_user": "bco_api_user", - "prefixes": [ - { - "description": "Just a test prefix.", - "prefix": "testR" - }, - - ] - }, - { - "owner_group": "test_drafter", - "owner_user": "bco_api_user", - "prefixes": [ - { - "description": "Just a test prefix.", - "prefix": "other" - } - ] - } - ] - } - - self.client.credentials(HTTP_AUTHORIZATION='Token ' + token) - response = self.client.post('/api/prefixes/create/', data=data, format='json') - - # 201: The prefix * was successfully created. - self.assertEqual(response.data[3]['status_code'], "201") - - # 400: Bad Request. The expiration date * is not valid - self.assertIn("not valid either because it does not match the required format 'YYYY-MM-DD-HH-MM-SS'", response.data[0]['message']) - - # 400: Bad Request. The prefix * does not follow the naming rules for a prefix. - self.assertIn('does not follow the naming rules for a prefix.', response.data[1]['message']) - - # TODO => 403: Forbidden. User does not have permission to perform this action. - # This would require testing an instance where the prefix admins was enforced... - - # 404: Not Found. The user * was not found on the server. - self.assertIn('was not found on the server.', response.data[2]['message']) - - # 409: Conflict. The prefix the requestor is attempting to create already exists. - self.assertIn('has already been created on this server.', response.data[4]['message']) - - self.assertEqual(response.status_code, 207) - - def test_create_prefix_unauthorized(self): - """Unauthorized. Authentication credentials were not provided. 401 - """ - - data = { - "POST_api_prefixes_create": [ - { - - - "owner_group": "test_drafter", - "owner_user": "bco_api_user", - "prefixes": [ - { - "description": "Just a test prefix.", - "prefix": "testR" - } - ] - } - ] - } - - response = self.client.post('/api/prefixes/create/', data=data, format='json') - self.assertEqual(response.status_code, 403) diff --git a/tests/test_views/test_api_prefixes_token.py b/tests/test_views/test_api_prefixes_token.py deleted file mode 100644 index 36adb798..00000000 --- a/tests/test_views/test_api_prefixes_token.py +++ /dev/null @@ -1,46 +0,0 @@ - -#!/usr/bin/env python3 - -"""Prefixes token -Tests for 'Successful request' (200), -'forbiddden' (403) -""" - -from django.test import TestCase -from rest_framework.test import APIClient -from rest_framework.authtoken.models import Token -from django.contrib.auth.models import User -from rest_framework.test import APITestCase - - -class PrefixesTokenTestCase(APITestCase): - fixtures = ['tests/fixtures/test_data'] - - def setUp(self): - self.client = APIClient() - - def test_success_response(self): - """The available prefixes were returned. (200)""" - - token = Token.objects.get( - user=User.objects.get(username='bco_api_user') - ).key - - self.client.credentials(HTTP_AUTHORIZATION='Token ' + token) - response = self.client.post('/api/prefixes/token/',data={}) - self.assertEqual(response.status_code, 200) - - - # def test_unauthorized_response(self): - # """The authorization header was not provided. (401)""" - - # self.client.credentials() - # response = self.client.post('/api/prefixes/token/') - # self.assertEqual(response.status_code, 401) - - def test_invalid_token(self): - """Invalid token(403)""" - - self.client.credentials(HTTP_AUTHORIZATION='Token ' + "token") - response = self.client.post('/api/prefixes/token/') - self.assertEqual(response.status_code, 403) diff --git a/tests/test_views/test_get_object_id_draft.py b/tests/test_views/test_get_object_id_draft.py deleted file mode 100644 index ddc4a1e3..00000000 --- a/tests/test_views/test_get_object_id_draft.py +++ /dev/null @@ -1,53 +0,0 @@ - -#!/usr/bin/env python3 - -""" Get Draft BCO - -""" - -import unittest -from django.test import TestCase -from rest_framework.test import APIClient -from rest_framework.authtoken.models import Token -from django.contrib.auth.models import User - -class GetDraftBcoTestCase(TestCase): - fixtures = ['tests/fixtures/test_data'] - - def setUp(self): - self.client = APIClient() - - def test_get_draft(self): - """Test a successful response with status code 201 - """ - token = Token.objects.get(user=User.objects.get(username='test50')).key - self.client.credentials(HTTP_AUTHORIZATION='Token ' + token) - response = self.client.get('/BCO_000000/DRAFT', format='json') - self.assertEqual(response.status_code, 200) - - def test_no_credentials(self): - """Test for '403: Authentication credentials were not provided.' - """ - - response = self.client.get('/BCO_000000/DRAFT', format='json') - self.assertEqual(response.status_code, 403) - - def test_dne(self): - """Test for '404: Not found. That draft could not be found on the - server.' - """ - - token = Token.objects.get(user=User.objects.get(username='test50')).key - self.client.credentials(HTTP_AUTHORIZATION='Token ' + token) - response = self.client.get('/BCO_000100/DRAFT', format='json') - self.assertEqual(response.status_code, 404) - - def test_unauthorized(self): - """Test for '404: Not found. That draft could not be found on the - server.' - """ - - token = Token.objects.get(user=User.objects.get(username='test50')).key - self.client.credentials(HTTP_AUTHORIZATION='Token ' + token) - response = self.client.get('/OTHER_000001/DRAFT', format='json') - self.assertEqual(response.status_code, 401) \ No newline at end of file diff --git a/tests/test_views/test_get_objectid.py b/tests/test_views/test_get_objectid.py deleted file mode 100644 index 9733b9d9..00000000 --- a/tests/test_views/test_get_objectid.py +++ /dev/null @@ -1,30 +0,0 @@ -#!/usr/bin/env python3 - -"""Get ObjectID -Tests for 'Successful request with valid object id' (200), -'Request with a non-existent object ID' (404), 'unauthorized- Request without authentication credentials' (401), -'Forbidden- Request with valid object ID but unauthorized user' (403) -""" - - -from django.test import TestCase -from rest_framework.test import APIClient - -class BCOViewTestCase(TestCase): - fixtures = ['tests/fixtures/test_data'] - def setUp(self): - self.client = APIClient() - - def test_view_published_bco_success(self): - """Successful request with valid object ID - """ - - object_id = "TEST_000001" - response = self.client.get(f'/{object_id}') - self.assertEqual(response.status_code, 200) - - def test_view_published_bco_not_found(self): - # Request with a non-existent object ID - object_id = "invalid_object_id" - response = self.client.get(f'{object_id}/') - self.assertEqual(response.status_code, 404) diff --git a/tests/test_views/test_published_object_by_id.py b/tests/test_views/test_published_object_by_id.py deleted file mode 100644 index d5a599cc..00000000 --- a/tests/test_views/test_published_object_by_id.py +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env python3 - -"""Root Object Id Testing -Tests for 'Object Found' (200) and 'Object Not Found'(404) -""" - -from django.test import TestCase -from rest_framework.test import APIClient - -class ObjectIdRootObjectIdTest(TestCase): - fixtures = ['tests/fixtures/test_data'] - - def test_seccussfull_retrieval(self): - """200: Object returned. - """ - - client = APIClient() - response = self.client.get('/BCO_000001') - self.assertEqual(response.status_code, 200) - - def test_object_not_found(self): - """404: Object not found. - """ - - response = self.client.get('/BCO_001000') - self.assertEqual(response.status_code, 404) \ No newline at end of file diff --git a/token.json b/token.json index 50e4e407..4d9d1f36 100644 --- a/token.json +++ b/token.json @@ -1 +1 @@ -[{"model": "authtoken.token", "pk": "00edb7f97f1a100c1d1b463f167908d178158b6d", "fields": {"user": 2, "created": "2023-10-11T16:46:23.774Z"}}, {"model": "authtoken.token", "pk": "627626823549f787c3ec763ff687169206626149", "fields": {"user": 4, "created": "2023-10-11T16:46:23.782Z"}}, {"model": "authtoken.token", "pk": "a8d6fb100e9f46925dda3efe46870d2bb34e03a9", "fields": {"user": 1, "created": "2023-10-11T16:46:23.765Z"}}, {"model": "authtoken.token", "pk": "b64fffb062421c1ea17fe7e0034484e494708f63", "fields": {"user": 3, "created": "2023-10-11T16:46:23.778Z"}}, {"model": "authtoken.token", "pk": "c0d204332435783b4b745eca04a6946d8c124b38", "fields": {"user": 5, "created": "2023-10-11T16:46:23.867Z"}}] \ No newline at end of file +[{"model": "authentication.authentication", "pk": 1, "fields": {"username": "bco_api_user", "auth_service": [{"iss": "Reeya1", "sub": "ReeyaGupta1"}]}}, {"model": "authentication.newuser", "pk": 1, "fields": {"email": "test_new_user@testing.com", "temp_identifier": "sample_temp_identifier", "token": "token", "hostname": "http://localhost:8000/", "created": "2024-03-14T14:28:32Z"}}] \ No newline at end of file