Mimic-code: كيفية تشغيل ملف .sh في مجلد المفاهيم لبناء الجدول المناسب؟

تم إنشاؤها على ١٨ سبتمبر ٢٠٢٠  ·  13تعليقات  ·  مصدر: MIT-LCP/mimic-code

المتطلبات الأساسية

وصف

شكرا جزيلا على المشروع الرائع لك!
أنا مبتدئ جديد في SQL / psql. لقد حاولت جاهدًا تثبيت [postgres_make_concepts.sh] في shell (psql) ، لكنني فشلت. لا أعرف كيف أبدأ الملف. ومع ذلك ، باتباع التعليمات ، يمكنني تشغيل ملف .sql الفردي.
تم تنزيل المجلد بالكامل على جهاز الكمبيوتر الخاص بي.
أكثر من ذلك ، لقد مررت بجميع المشكلات (بما في ذلك المغلقة) ، لكن ما زلت لا أستطيع معرفة كيفية القيام بذلك محليًا.

[كيفية فطريات postgres_make_concepts.sh؟]

أتمنى مساعدتك ، شكرا!

التعليق الأكثر فائدة

حسنًا ، تمكنت من كتابة ملف .bat لإنشاء المفاهيم على Windows. إنها تتطلب WSL ولكنها على الأرجح الطريقة الأكثر استخدامًا لتوليد المفاهيم. إنه يعمل مع الجميع باستثناء تشخيصات CCS. يوجد برنامج تعليمي في README: https://github.com/MIT-LCP/mimic-code/tree/master/concepts

اسمحوا لي أن أعرف إذا كان يعمل من أجلكم جميعا!

ال 13 كومينتر

ما هو نظام التشغيل الذي تعمل به؟ الملف عبارة عن برنامج نصي شيل ، وبالتالي سيعمل فقط على نظام التشغيل Mac OS X أو Linux. إذا كنت تستخدم نظام Windows ، فأنا لست متأكدًا من أفضل نهج. يمكن تشغيل ملفات SQL باستخدام برنامج psql (shell) المصاحب لتثبيت PostgreSQL ، ولكن هناك تعبيرًا عاديًا يتم تطبيقه على بعض الملفات لاستبدال بنية BigQuery ببنية PostgreSQL. ربما تكون أبسط طريقة لمحاكاة ذلك على Windows هي القيام بذلك يدويًا.

ما هو نظام التشغيل الذي تعمل به؟ الملف عبارة عن برنامج نصي شيل ، وبالتالي سيعمل فقط على نظام التشغيل Mac OS X أو Linux. إذا كنت تستخدم نظام Windows ، فأنا لست متأكدًا من أفضل نهج. يمكن تشغيل ملفات SQL باستخدام برنامج psql (shell) المصاحب لتثبيت PostgreSQL ، ولكن هناك تعبيرًا عاديًا يتم تطبيقه على بعض الملفات لاستبدال بنية BigQuery ببنية PostgreSQL. ربما تكون أبسط طريقة لمحاكاة ذلك على Windows هي القيام بذلك يدويًا.

شكرا جزيلا! أنا أستخدم Win7. نعم ، يمكنني تشغيل ملف .sql الفردي باستخدام PostgreSQL. أتساءل عما إذا كانت هناك طريقة لتشغيل postgres_make_concepts.sh في cmd أو psql لإعداد جميع الجداول.
بالمناسبة ، هل ترغب في تقديم ملف make_concepts بتنسيق .sql ، تمامًا مثل الملف الموجود في كود sepsis-3-mimic؟
أو أتمنى أن يوفر لي أحد الخوارزمية لتشغيل .sh في Windows. لقد استغرق الأمر مني وقتًا طويلاً للوصول إلى موقع Google ولكن لم أحصل على شيء.
شكرا لك!

حسنًا ، إنه أمر صعب لأنني أستخدم أدوات Unix المساعدة لتغيير البرامج النصية قبل تمريرها إلى عميل psql. يقوم البرنامج النصي .sh (1) بتعديل ملفات SQL باستخدام تعبير عادي لجعلها متوافقة مع postgres ، (2) يقوم بإنشاء جدول بنفس اسم الملف باستخدام محتوى البرنامج النصي ، و (3) يقوم بتشغيل البرامج النصية لـ SQL بشكل صحيح ترتيب. لذلك كنت قد أعدت إنتاج الخطوات يدويًا.

لسوء الحظ ، لأنني أستخدم الأداة المساعدة sed ، فلا توجد طريقة لجعله ملف SQL كما كان من قبل. يمكنك تثبيت sed على Windows باستخدام GNU لـ Windows واستخدام هذا البرنامج لاستبدال النص. قد يكون من الممكن تشغيله في موجه الأوامر إذا قمت أيضًا بتثبيت أدوات GNU الأساسية لنظام التشغيل Windows .

بدلاً من ذلك ، يمكنك محاولة تثبيت postgres في نظام Windows الفرعي لنظام Linux (WSL) - البرنامج التعليمي هنا . إذا قمت بذلك ، فسيتم تشغيل البرنامج النصي .sh في بيئة Linux.

عزيزي اليستير و smartniko
التقيت بقضية مماثلة.
لقد اتبعت التعليمات وقمت بتشغيل postgres-funtions.sql ، ولكن الآن لا يمكنني تشغيل كل ملف .sql يدويًا .... هل قمت بالخطوة الأولى بشكل خاطئ؟ كيف يمكنني التراجع عن الخطوة الأولى ...

شكرا

لا ، الخطوة الأولى مطلوبة تمامًا ، وتقوم بإنشاء وظائف على postgresql ستحتاج إليها. يمكنك اختبار ما إذا كان يعمل مع:

SELECT REGEXP_EXTRACT('test it grabs the number 123', '[0-9]+');

يجب أن تعيد 123 . إذا تلقيت رسالة No function matches the given name and argument types. ، فهذا يعني أنك لم تنشئ الوظائف في قاعدة البيانات.

بمجرد الانتهاء من ذلك ، ستحتاج إلى إجراء عمليات استبدال النص التالية في جميع ملفات SQL:

  1. استبدل physionet-data.mimiciii_clinical.<table_name> و physionet-data.mimiciii_derived.<table_name> و physionet-data.mimiciii_notes.<table_name> بـ <table_name> . يتم ذلك عن طريق استدعاء REGEX_SCHEMA في البرنامج النصي shell.
  2. استبدل DATETIME_DIFF(date1, date2, DATE_PART) بـ DATETIME_DIFF(date1, date2, 'DATE_PART') ، وهذا هو DATE_PART يجب نقله بعلامات اقتباس فردية. يتم ذلك عن طريق استدعاء REGEX_DATETIME_DIFF في البرنامج النصي shell.
  3. أضف بيان إنشاء جدول في أعلى الملف ، على سبيل المثال إذا كان اسم الملف echo_data.sql ، أضف CREATE TABLE echo_data AS في أعلى الملف. يتم ذلك عن طريق مكالمات echo في البرنامج النصي shell.

تكرر الخطوات الثلاث المذكورة أعلاه ما تم القيام به في سكربت الصدفة (postgres_make_concepts.sh). بالطبع ، أتمتةها هو الأفضل ، لذلك إذا كنت تعرف كيفية القيام بذلك في Windows ، فابحث عنه (وانشر الحل هنا!).

image

عزيزي اليستير و smartniko
أنا طالب طب ولست جيدًا في SQL / psql. حاولت جاهدًا تشغيل make_concepts.sh يدويًا لكنني فشلت. ونظامي هو النوافذ أيضًا.
لقد قمت بإنشاء وظائف على postgresql وقد ظهرت ولكن لا يمكن استخدامها. (حصلت على "لا توجد دالة تطابق الاسم وأنواع الوسيطات المعطاة" بعد SELECT REGEXP_EXTRACT ("اختبرها للحصول على الرقم 123" ، "[0-9] +") ؛)
عندما قمت بنسخ SQL وحاولت إنشاء عرض تهوية ، قالت "لا توجد وظيفة تتطابق مع الاسم المحدد وأنواع الوسيطة" ، ولكن تم إنشاؤها بنجاح بعد أن استبدلت الوظيفة في SQL بالكلمات المماثلة.
وسؤالي كيف أتعامل مع الوظائف؟

لقد قمت بإنشاء وظائف على postgresql وقد ظهرت ولكن لا يمكن استخدامها. (حصلت على "لا توجد دالة تطابق الاسم وأنواع الوسيطات المعطاة" بعد SELECT REGEXP_EXTRACT ("اختبرها للحصول على الرقم 123" ، "[0-9] +") ؛)
عندما قمت بنسخ SQL وحاولت إنشاء عرض تهوية ، قالت "لا توجد وظيفة تتطابق مع الاسم المحدد وأنواع الوسيطة" ، ولكن تم إنشاؤها بنجاح بعد أن استبدلت الوظيفة في SQL بالكلمات المماثلة.
وسؤالي كيف أتعامل مع الوظائف؟

يتم إنشاء الوظائف على مخطط محدد. لذلك قد يتم إنشاء الوظائف في المخطط المدرج ، ولكن عند محاولة استخدام الوظيفة لم تعد موجودة في مسار البحث. لست متأكدًا من البرنامج الذي تستخدمه ولكني قمت بتكوين مسار البحث الخاص بي عن طريق تشغيل set search_path to mimiciii,public; .

حسنًا ، تمكنت من كتابة ملف .bat لإنشاء المفاهيم على Windows. إنها تتطلب WSL ولكنها على الأرجح الطريقة الأكثر استخدامًا لتوليد المفاهيم. إنه يعمل مع الجميع باستثناء تشخيصات CCS. يوجد برنامج تعليمي في README: https://github.com/MIT-LCP/mimic-code/tree/master/concepts

اسمحوا لي أن أعرف إذا كان يعمل من أجلكم جميعا!

حسنًا ، تمكنت من كتابة ملف .bat لإنشاء المفاهيم على Windows. إنها تتطلب WSL ولكنها على الأرجح الطريقة الأكثر استخدامًا لتوليد المفاهيم. إنه يعمل مع الجميع باستثناء تشخيصات CCS. يوجد برنامج تعليمي في README: https://github.com/MIT-LCP/mimic-code/tree/master/concepts

اسمحوا لي أن أعرف إذا كان يعمل من أجلكم جميعا!

شكرا لقيادتكم! لقد قمت الآن بإنشاء وظائف باستخدام "تعيين search_path إلى mimiciii، public" ونجحت في إنشاء بعض طرق العرض حتى

حسنًا ، تمكنت من كتابة ملف .bat لإنشاء المفاهيم على Windows. إنها تتطلب WSL ولكنها على الأرجح الطريقة الأكثر استخدامًا لتوليد المفاهيم. إنه يعمل مع الجميع باستثناء تشخيصات CCS. يوجد برنامج تعليمي في README: https://github.com/MIT-LCP/mimic-code/tree/master/concepts

اسمحوا لي أن أعرف إذا كان يعمل من أجلكم جميعا!

شكرا لقيادتكم! لقد غيرت مسار الوظائف ومن ثم يمكن أن تكون uesd. بعد ذلك ، قمت بإنشاء طرق عرض يدويًا باتباع الترتيب من make_concepts.sh ونجح معظمها. ومع ذلك ، هناك مشكلتان قابلتهما.

  1. عندما حاولت إنشاء "weight_durations" ، فشلت وقالت "فشلت في العثور على تحويل من unkonw إلى نص" ، مما أثر في إنشاء "heightweight" و "kdigo_uo" وبعض الآراء الأخرى.
  2. عندما حاولت بناء "ccs_dx" ، فشلت وقلت "العلاقة" mimiciii.ccs_multi_dx "غير موجودة". هل يجب أن أقوم بإنشاء هذا الجدول أولاً؟
    باستثناء هذين الجزأين ، تم بناء جميع العروض بنجاح.
  1. عندما حاولت إنشاء "weight_durations" ، فشلت وقالت "فشلت في العثور على تحويل من unkonw إلى نص" ، مما أثر في إنشاء "heightweight" و "kdigo_uo" وبعض الآراء الأخرى.

هذا غريب - لقد بنيت weight_durations بشكل جيد تمامًا. ما هو إصدار PostgreSQL الذي تستخدمه؟

  1. عندما حاولت بناء "ccs_dx" ، فشلت وقلت "العلاقة" mimiciii.ccs_multi_dx "غير موجودة". هل يجب أن أقوم بإنشاء هذا الجدول أولاً؟

نعم - هذا ما توقعته. يحاول فك ضغط ملف .gz باستخدام gzip ، لكن Windows لا يأتي مع gzip افتراضيًا ، لذا يفشل إنشاء هذا الجدول. يتطلب الأمر فقط فك ضغط هذا الجدول يدويًا واستيراده إلى الجدول باستخدام الأمر \COPY .

باستثناء هذين الجزأين ، تم بناء جميع العروض بنجاح.

رائعة!

  1. عندما حاولت إنشاء "weight_durations" ، فشلت وقالت "فشلت في العثور على تحويل من unkonw إلى نص" ، مما أثر في إنشاء "heightweight" و "kdigo_uo" وبعض الآراء الأخرى.

هذا غريب - لقد بنيت weight_durations بشكل جيد تمامًا. ما هو إصدار PostgreSQL الذي تستخدمه؟

أنا أوسد PostgreSQL 9.6 و pgAdmin4. تم إنشاء العرض بنجاح بعد أن قمت بتغيير LINE69: 'echo' AS weight_type ، إلى 'echo' :: text AS weight_type ،. في البداية ، اعتقدت أنها مشكلة في وجهة نظري "echo_data" ، حيث تم إنشاؤها تلقائيًا قبل أن أحاول إنشاء عرض يدويًا. وعندما أحاول استخدام أحدث رمز لإنشاء رمز جديد آخر للعثور على ما إذا كانت مختلفة ، فإن الرمز الجديد الذي أنشأته يظهر "فارغ" في أعمدة الطول والوزن و bsa وما إلى ذلك. لذلك احتفظ بالأول.

  1. عندما حاولت بناء "ccs_dx" ، فشلت وقلت "العلاقة" mimiciii.ccs_multi_dx "غير موجودة". هل يجب أن أقوم بإنشاء هذا الجدول أولاً؟

نعم - هذا ما توقعته. يحاول فك ضغط ملف .gz باستخدام gzip ، لكن Windows لا يأتي مع gzip افتراضيًا ، لذا يفشل إنشاء هذا الجدول. يتطلب الأمر فقط فك ضغط هذا الجدول يدويًا واستيراده إلى الجدول باستخدام الأمر \COPY .

لقد قمت بإنشاء الجدول ccs_multi_dx ، ثم قمت ببناء عرض ccs_dx ، لكنه قال "خطأ: خطأ: تعبير عادي غير صالح: الأقواس () ليست متوازنة السياق: تحتوي دالة PL / pgSQL على regexp_contains (نص ، نص) في السطر 3 من RETURN" ؟

باستثناء هذين الجزأين ، تم بناء جميع العروض بنجاح.

رائعة!

عزيزي أليستاير:
شكرا لكم جميعا لمساعدتكم! لقد لاحظت وجود ملف "make-concepts.sql" في رمز التقليد v1.4.2. قمت بتشغيلها وعملت بشكل جيد.
هل يمكن أن تخبرني هل هناك أي فرق بين ملفي "make-concepts.sh" و "make-concepts.sql"؟ لقد أرفقت ملف .sql بهذه الرسالة.
make-concepts.zip
أنا من الخارج تماما عن SQL. الترميز وآسف لجميع الإزعاج.
شكرا لك مرة أخرى.

هل يمكن أن تخبرني هل هناك أي فرق بين ملفي "make-concepts.sh" و "make-concepts.sql"؟ لقد أرفقت ملف .sql بهذه الرسالة.

ملف xxx.sh مخصص لأنظمة تشبه يونكس وأنظمة MacOS ولن يعمل تحت Windows. ملف xxx.sql هو برنامج نصي لـ PostgreSQL ويعمل طالما قمت بتشغيله في PostgreSQL ، فإن النظام الذي تستخدمه لا يهم هنا.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات