لإرسال البيانات إلى المعهد الوطني لأرشيف بيانات الصحة العقلية (NDA)، يجب على المستخدمين التحقق من صحة بياناتهم للتأكد من أنها تتوافق مع التنسيق المطلوب. ويتم ذلك باستخدام أداة التحقق من صحة وتحميل NDA. بالإضافة إلى ذلك، يمكن للمستخدمين حزم البيانات وتنزيلها من NDA أيضًا. إذا تم تنزيل البيانات المرتبطة من S3، فستكون رموز AWS الموحدة المؤقتة مطلوبة. تم تطوير حزمة Python وعملاء سطر الأوامر للسماح للمستخدمين بالتحقق من صحة البيانات و/أو حزمها وإرسالها و/أو تنزيلها برمجيًا. خدمات الويب الخاصة بالتحقق من الصحة، وحزمة التقديم، وتقديم البيانات.
سيحتاج المستخدم إلى توزيع بايثون لاستخدام العميل. قم بتشغيل ما يلي من موجه الأوامر/المحطة الطرفية لتحديد ما إذا كان Python مثبتًا بالفعل:
python3 --version
ملحوظات:
منذ إصدار Python 3.4، تم تضمين النقطة افتراضيًا مع ثنائي Python. يمكنك التحقق من الإصدار مع:
pip3 --version
إذا تم تثبيت النقطة، فيجب أن تشاهد معلومات الإصدار. إذا لم يكن الأمر كذلك، فيجب عليك تثبيت النقطة. أولاً، قم بتنزيله من https://bootstrap.pypa.io/get-pip.py، ثم قم بتشغيل ما يلي لتثبيته للمستخدم الخاص بك.
python3 get-pip.py --user
ملحوظات:
ستساعدك هذه الإرشادات في الحصول على الإعداد لتشغيل العميل.
ما عليك سوى إدخال الأمر التالي في الجهاز الطرفي أو موجه الأوامر لتثبيت أدوات nda:
pip install nda-tools
سيؤدي هذا إلى تثبيت حزمة أدوات nda تلقائيًا، بما في ذلك البرامج النصية لسطر الأوامر والحزم المطلوبة.
ملحوظات:
pip install nda-tools --user
python -m NDATools.clientscripts.[NDAtoolcommand]
على الرغم من عدم الحاجة إلى التحقق فقط، إذا كنت تريد إنشاء حزمة وإرسال بياناتك إلى NDA، فيجب أن يكون لديك حساب نشط معنا. يمكن طلب ذلك من موقع NDA. يمكنك قراءة المزيد حول ما هو مطلوب للمساهمة بالبيانات في NDA هنا.
Keyring عبارة عن حزمة Python تعمل على الاستفادة من مدير اعتماد نظام التشغيل لتخزين بيانات اعتماد المستخدم واستردادها بشكل آمن.
بالنسبة لمستخدمي أي نظام تشغيل، يمكن تحديث كلمة المرور من خلال:
keyring.set_password('nda-tools', USERNAME, NEW_PASSWORD)
يمكن لمستخدمي Mac وWindows استخدام Keychain وCredentials Manager، على التوالي، لتحديث كلمات المرور الخاصة بهم.
لتحديث كلمة المرور الخاصة بك باستخدام حلقة المفاتيح، قم بتشغيل:
keyring.set_password('nda-tools', 'YOUR_USERNAME', 'NEW_PASSWORD')
,استبدال YOUR_USERNAME و NEW_PASSWORD باسم مستخدم NDA وكلمة المرور الجديدة. يمكنك قراءة المزيد من وثائق Keyring.
إذا لم يكن لديك أي إدخالات مخزنة عبر حلقة المفاتيح، فستتم مطالبتك بإدخال كلمة المرور. إذا نجحت المصادقة، فستقوم أدوات NDA بتخزين كلمة المرور الخاصة بك عبر حلقة المفاتيح. سيؤدي الاستخدام اللاحق لأدوات NDA إلى استرداد كلمة المرور تلقائيًا وبشكل آمن من حلقة المفاتيح.
قد يحتاج مستخدمو Linux إلى تثبيت تطبيق الواجهة الخلفية لحلقة المفاتيح نظرًا لأنه قد لا يكون لديهم مدير بيانات اعتماد أصلي مثل تلك المضمنة في أنظمة التشغيل Mac وWindows. إذا كانت الواجهة الخلفية لحلقة المفاتيح مفقودة، فستقوم أدوات nda بطباعة الرسالة التالية:
If there is no backend set up for keyring, you may try pip install secretstorage --upgrade keyrings.alt
لمستخدمي أوبونتو،
apt-get install -y gnome-keyring
يرجى ملاحظة أنه إذا واجهت أخطاء SSL عند تشغيل العميل، فقد تحتاج إلى إعادة تشغيل تثبيت النقطة للطلبات، باستخدام pip install requests[secure]
والتي ستقوم بتثبيت بعض الحزم الإضافية مع مزيد من الدعم لاتصالات SSL.
لعرض الخيارات المتاحة لعميل Validation Tool Python، أدخل الأمر التالي:
vtcmd -h
أو لعرض الخيارات المتاحة لعميل تنزيل Python، أدخل:
downloadcmd -h
يحتوي الملف ~.NDAToolssettings.cfg المتوفر مع العميل على خيارات قابلة للتكوين لنقاط النهاية والملفات ومعلومات المستخدم.
عادةً، لن تحتاج إلى تغيير الإدخالات في قسم "نقاط النهاية"؛ ومع ذلك، قد ترغب في تعديل قسمي "الملفات" و"المستخدم" بالمواقع المفضلة لنتائج التحقق من الصحة وتسجيل دخول المستخدم ومعلومات بيانات اعتماد AWS.
على الرغم من أن الوسائط ليست موضعية، إلا أن الوسيطة الأولى يجب أن تكون قائمة الملفات المطلوب التحقق من صحتها.
vtcmd -l "Users/[youruser]/Documents/MultipleDataTypes"
"Users/[youruser]/Documents/MultipleDataTypes/Stage_Testing_BigFiles_genomics_sample03.csv"
من الضروري أن تعرف المسار الكامل لملفات CSV التي سيتم التحقق من صحتها. علاوة على ذلك، إذا كانت بياناتك تتضمن بيانات و/أو ملفات مرتبطة بها (على سبيل المثال، ملفات الجينوم، وملفات التصوير، وما إلى ذلك)، فيجب عليك أيضًا معرفة المسار الكامل لهذه الملفات، والتي يجب إدخالها كوسيطة سطر أوامر اختيارية. وبخلاف ذلك، سيطالبك العميل بإدخال قائمة بالأدلة حيث يتم تخزين أي ملفات إضافية. يمكنك أيضًا إدراج مجموعة وبادئة اختيارية وبيانات اعتماد AWS الخاصة بك إذا كانت الملفات المرتبطة موجودة في AWS.
الرجاء ملاحظة: عند إدراج دليل الملفات المرتبطة، قم بتضمين المجلد حتى اسم الملف المدرج في ملف CSV ولكن لا يتضمنه .
إذا كان اسم الملف المرتبط موجودًا في Users/[youruser]/Documents/MultipleDataTypes/data/1G_file.fastq وكان مدرجًا في ملف CSV الخاص بك على النحو التالي:
data/1G_file.fastq
ثم الدليل الذي ستدخله هو:
المستخدمون/[المستخدم الخاص بك]/المستندات/أنواع البيانات المتعددة
يجب ألا تقوم بتضمين المجلد "data/" كجزء من اسم الدليل.
لبدء التحقق من الصحة، يجب عليك إدخال قائمة الملفات (أو مسار الملف إذا لم يكن في الدليل الحالي)، مفصولة بمسافة:
vtcmd MultipleDataTypes/genomics_sample03.csv testdata/with_associated_files/genomics_sample03.csv
إذا كانت بياناتك تتضمن ملفات البيان، فيجب عليك إدخال الدلائل التي توجد بها ملفات البيان، مفصولة بمسافة:
vtcmd submission_data/sample_imagingcollection01.csv -m submission_data/Manifests
إذا كانت هناك ملفات مرتبطة، فأدخل الأدلة التي تم العثور عليها فيها، مفصولة بمسافة:
vtcmd MultipleDataTypes/genomics_sample03.csv testdata/with_associated_files/genomics_sample03.csv -l MultipleDataTypes testdata/with_associated_files
إذا كانت الملفات موجودة في مكان آخر غير دليل العمل الحالي، فيجب عليك إدخال المسار الكامل للملفات:
vtcmd MultipleDataTypes/genomics_sample03.csv testdata/with_associated_files/genomics_sample03.csv -l Users/[youruser]/Downloads/SubmissionData testdata/with_associated_files
إذا كانت ملفاتك المرتبطة موجودة في S3، فيجب عليك تضمين اسم الحاوية ومفتاح الوصول والمفتاح السري.
vtcmd MultipleDataTypes/genomics_sample03.csv testdata/with_associated_files/genomics_sample03.csv -s3 my_bucket -ak XXXXXXXXXXXXXX -sk XXXXXXXXXXXXXX
ملاحظة: يمكنك أيضًا تحميل الملفات المرتبطة المحفوظة محليًا وفي s3. فقط تأكد من تضمين الدليل الذي تم حفظ الملفات المحلية فيه (-l path/to/local/associated/files)
لإنشاء حزمة، أدخل "-b" في نهاية وسيطة سطر الأوامر. يمكنك أيضًا إدخال اسم المستخدم الخاص بك، وبيانات اعتماد AWS، ومعرف المجموعة، وعنوان ووصف إرسالك، أو يمكنك إدخال هذه المعلومات لاحقًا عندما يطلب منك العميل ذلك. لن يبدأ العميل في بناء حزمة التقديم حتى:
بمجرد اكتمال إرسال الحزمة وتحميلها، ستتلقى رسالة بريد إلكتروني في صندوق الوارد الخاص بك من NDA تؤكد نجاح إرسالك. سيتم حفظ نسخة محلية من الحزمة تلقائيًا في المجلد ~nda-toolsvtcmdsubmission_package ويمكن العثور عليها في علامة تبويب إرسال المجموعة على موقع NDA.
يتم إجراء فحص ضمان الجودة على جميع البيانات بعد تقديمها إلى NDA بحثًا عن أي تناقضات في نقاط البيانات بما في ذلك الجنس والمركب الفرعي وعمر المقابلة وتاريخ المقابلة. إذا تم العثور على أي مشاكل في البيانات، فسيتم إرسال بريد إلكتروني إلى المستخدمين الذين قاموا بإنشاء التقديم مع تقرير بالأخطاء التي عثرت عليها NDA.
لإصلاح البيانات الموجودة في اتفاقية عدم الإفشاء الخاصة بإرسالك، يتعين عليك استبدال جميع ملفات CSV التي تحتوي على أخطاء في إرسالك الأصلي. للقيام بذلك يجب عليك:
على سبيل المثال، إذا كان الإرسال الأصلي بالمعرف 123456 يتكون من file1.csv وfile2.csv وfile3.csv، وكان يلزم إجراء التصحيحات على file1.csv وfile2.csv، فسيبدو الأمر لإصلاح أخطاء qa كما يلي:
vtcmd -b -rs 123456 corrected-file1.csv corrected-file2.csv
لاحظ أنه تم استبعاد file3.csv من الأمر لأنه لا يلزم إجراء أي تغييرات على هذا الملف المحدد.
يرجى ملاحظة أنه يجب تشغيل هذا الأمر مرة واحدة للإرسال ويجب أن يتضمن كافة الملفات التي تحتوي على تصحيحات للبيانات . أي لا تقم بتشغيل vtcmd مرة واحدة لـ Corrected-file1.csv ومرة أخرى لـ Corrected-file2.csv. إذا قمت عن طريق الخطأ بحذف الملفات التي تحتوي على التغييرات الضرورية عند تشغيل الأمر، فيرجى الاتصال بمكتب المساعدة على [email protected].
لاحظ أيضًا أن ملفات CSV يجب أن تحتوي على كافة البيانات التي تم إرسالها في الأصل. على سبيل المثال ، إذا كان ملف CSV يحتوي في الأصل على 800 صف وكان هناك حاجة إلى تغيير 3 صفوف فقط، فيجب أن تكون جميع الصفوف الـ 800 موجودة في ملف CSV عند تشغيل vtcmd ، وليس فقط الصفوف الثلاثة التي تحتوي على التغييرات. أي بيانات يتم استبعادها من ملف CSV سوف تنعكس في أرقام البيانات المتوقعة للمجموعة.
لن يقوم البرنامج النصي بتحميل أي ملفات مرتبطة تم تحميلها أثناء الإرسال الأصلي. سيكون من الضروري فقط تحميل الملفات المرتبطة إذا ظهرت في ملفات CSV المصححة ولكن ليس في أي من ملفات CSV من الإرسال الأصلي. وهذا يوفر الوقت أثناء عمليات تقديم الجينوم والتصوير حيث يمكن أن يستغرق تحميل الملفات المرتبطة أيامًا.
لتنزيل البيانات، يجب عليك استخدام الأمر downloadcmd. يوفر هذا عدة خيارات لتنزيل بيانات NDA المجمعة أو مجموعة فرعية من البيانات. يتم تنزيل جميع الملفات تلقائيًا إلى المجلد ~nda-toolsdownloadcmdpackages ، ولكن يمكنك تغيير ذلك عن طريق الإشارة إلى دليل جديد في سطر الأوامر لحفظ الملفات. يرجى ملاحظة: الحد الأقصى لنقل البيانات هو 20 تيرابايت شهريًا.
يمكن تنزيل جميع البيانات المجمعة عن طريق تمرير معرف الحزمة:
downloadcmd -dp
ملاحظة: لن يتم تنزيل الملفات المرتبطة إلا إذا قمت بإنشاء حزمة NDA الخاصة بك مع الملفات المرتبطة . خطوات تنزيل الملفات المرتبطة أدناه.
يحتوي الأمر downloadcmd على خيارين لتنزيل البيانات داخل ملفات .txt. إذا قمت بتنزيل حزمة NDA الخاصة بك، فستجد ملفات .txt للبيانات الوصفية، والتي يمثل العديد منها مقاييس البيانات. سيتم إدراج بيانات الجينوم والتصوير والبيانات الأخرى المرتبطة بها في ملفات .txt هذه كروابط s3. إذا كنت ترغب في تنزيل جميع روابط s3 في ملف .txt الخاص بك، فيمكنك الإشارة إلى ذلك عن طريق تمرير العلامة -ds.
downloadcmd -dp
إذا كنت تريد تنزيل حزمة NDA الخاصة بك وجميع بيانات الجينوم والتصوير والبيانات الأخرى المرتبطة بها كقائمة من روابط s3 المخزنة في ملف .txt مخصص، فيمكنك القيام بذلك باستخدام العلامة -t.
downloadcmd -dp
يمكن لأمر downloadcmd تنزيل حزمة NDA الخاصة بك في حاوية S3 الخاصة بك مباشرةً.
downloadcmd -dp
هذه هي الطريقة المفضلة لتنزيل البيانات من NDA لسببين:
يعد التنزيل إلى حاوية S3 أخرى أسرع بكثير لأن البيانات لا تترك AWS.
يسمح لنا بتنزيل كمية غير محدودة من البيانات من NDA إلى مجموعتك مباشرةً.
لكي تنجح عمليات النسخ من S3 إلى S3، يجب تكوين حاوية S3 المتوفرة كوسيطة البرنامج للسماح بعمليات كائن PUT لـ arn:aws:sts::618523879050:federated-user/
، حيث
هو اسم مستخدم NDA الخاص بك.
بالنسبة للحاويات غير العامة، سيتطلب ذلك تحديثًا لسياسة الحاوية. يجب إضافة العبارة التالية للسماح بالأذونات اللازمة بعد استبدال
باسم المجموعة:
{
"Sid": "AllowNDAUpload",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::618523879050:federated-user/"
},
"Action": "s3:PutObject*",
"Resource": "arn:aws:s3:::/*"
}
قد تحتاج إلى إرسال بريد إلكتروني إلى قسم تكنولوجيا المعلومات في شركتك/مؤسستك لإضافة هذا لك.
ملاحظة: إذا كانت حاوية S3 الخاصة بك مشفرة باستخدام مفتاح KMS مُدار بواسطة العميل، فستحتاج أيضًا إلى تحديث سياسة المفتاح المستخدم لتشفير الحاوية.
يجب إضافة البيان التالي إلى سياسة مفتاحك:
{
"Sid": "EnableUseForFederatedNDA",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::618523879050:user/DownloadManager"
},
"Action": ["kms:GenerateDataKey","kms:Decrypt"],
"Resource": "*"
}
إذا كانت لديك أية مشكلات مع عميل أداة التحقق من الصحة Python أو كنت ترغب في تقديم تعليقات/تعليقات، فيرجى مراسلتنا عبر البريد الإلكتروني على [email protected].