این برنامه یک پلت فرم نرم افزار منبع باز گرافیکی رایگان است که برای یکپارچه سازی، تجسم و تجزیه و تحلیل دادههای اندازهگیری در زمینه انواع شبکهها استفاده میشود. شبکهها در این نرم افزار به صورت گراف (مجموعه ای از راسها و یالها) رسم میشود. وقتی با بیگ دیتا (دیتاهای بزرگ) سر و کار داریم و میخواهیم به صورت گراف و قابل مفهوم در بیاوریم از این برنامه استفاده میکنیم.
این آموزش شامل موارد زیر است:
نصب برنامه Cytoscape و آشنایی با محیط آن
ایجاد شبکه در Cytoscape
ایجاد شبکه به صورت دستی
ایجاد شبکه با استفاده از فایل
ایجاد شبکه با استفاده از database
نصب برنامه Cytoscape
برای دانلود برنامه به سایت https://cytoscape.org/ رفته و روی دانلود کلیک کنید.
نکته حائز اهمیت این است که قبل از نصب برنامه حتما جاوا را نصب کنید (برای نصب نسخه 3.10 باید از نسخه JRE17 استفاده کنید).
برای سیستم عامل لینوکس، بعد از دانلود یک فایل با پسوند sh در قسمت دانلودها ظاهر میشود، برای اینکه این فایل را نصب کنید، جایی که فایل قرار دارد را در ترمینال باز کنید و دستور زیر را وارد کنید.
~$ sudo bash Cytoscape_3_10_0_unix.sh
بعد از انجام مراحل نصب دستور زیر را در ترمینال وارد کنید تا برنامه باز شود:
~$ cd Cytoscape_v3.10.0/
~$ ./cytoscape.sh
اگر برنامه باز نشد، احتمالا مسیر نصب ماشین مجازی جاوا برای برنامه تعریف نشده است. این مسیر در متغیر خط فرمان به نام JAVA_HOME ذخیره میشود. فایل cytoscape.sh را باز کنید و در آن خط زیر را اضافه کنید:
Export JAVA_HOME=/path/to/java/home
در ubuntu 22.04 میتوانید از دستور زیر برای مشاهده فهرست jre های نصب شده استفاده کنید:
~$ update-alternatives --query java
مشکل عمومی بعد استفاده از کتابخانه zip در لینوکس است. اگر در لاگ فایلها خطای مشابهای را دیدید برای حل این مشکل به پوشهای که نرم افزار نصب شده رفته و در پوشه زیر، خط زیر را در آن کپی و ذخیره کنید.
-Djdk.util.zip.disableZip64ExtraFieldValidation=true
دوباره دو دستور زیر را در ترمینال اجرا کنید.
~$ cd Cytoscape_v3.10.0/
~$ ./cytoscape.sh
بعد از اجرای دستورات صفحه زیر برای شما باز میشود:
نگاهی کلی به واسط گرافیکی نرم افزار
حال میخواهیم منوهای بالای صفحه را مورد بررسی قرار دهیم:
منوی file
در این منو:
Open session: برای باز کردن پنجرههای جدید
Open recent session: برای باز کردن نشستی که اخیرا روی آن کار میکردیم
Save session: ذخیره نشست اخیر که روی آن کار میکردیم
Close session: بستن پنجره های نشست اخیر
New network: برای ایجاد شبکه جدید در نشست اخیر
Import: فراخوانی منبع ایجاد شبکه یا خود شبکه از نشست اخیر
Export: ذخیره منبع شبکه یا خود شبکه از نشست اخیر
منوی edit
در این قسمت برای do ،undo ،copy و paste کردن کارهایی که تا الان انجام داده بودیم استفاده میکنیم.
منوی view
برای نشان دادن یا پنهان کردن یک پنجره یا آیکون در صفحه اصلی است.
منوی layout
برای تنظیمات ویژگیهای شبکهها است.(مثل تنظیم شکل گراف شبکه، دایرهای باشه.)
منوی apps
این منو برای نصب برنامهی مورد نیاز برای شبکه و نشست از اپ استور است.
صفحه اصلی
صفحه اصلی دارای سه پنجره است:
پنجره شبکه
پنجره نشست یا session
پنجره جدول
پنجره شبکه
پنجره شبکه، شبکههایی که در session اخیر وجود دارند را نشان میدهد.
پنجره نشست
در پنجره نشست شبکههایی که روی آنها کار میکنیم را نشان میهد.
پنجره جدول
این پنجره دارای سه بخش جدول گرهها، جدول یالها و جدول شبکهها است(منوی این سه جدول سمت راست،پایین صفحه است):
وقتی شبکهای را انتخاب میکنید، اطلاعات مربوط به گرهها و یالها و شبکه در این جدولها نشان داده میشود و میتوانید معمولا اطلاعات هر ستون و ردیف را به دلخواه عوض کنید.
ایجاد شبکه در Cytoscape
در این نرم افزار میتوانید به سه طریق یک شبکه را در یک کالکشن ایجاد کنید.
ایجاد شبکه به صورت دستی
ایجاد شبکه با استفاده از فایل
ایجاد شبکه با استفاده از database
ایجاد شبکه به صورت دستی
میتوانید از طریق منوی file->new network->empty یک شبکه ایجاد کنید.در پنجره باز شده کالکشن و نام شبکه را انتخاب کنید(یا کالکشن جدید ایجاد کنید یا کالکشنی که از قبل وجود دارد را انتخاب کنید).
در پنجره session با کلیک راست روی صفحه به صورت زیر میتوانید گره جدید ایجاد کنید.
بعد از ایجاد چند گره، با انتخاب یک گره و کلیک راست روی آن به صورت زیر میتوانید یک یال از آن گره را به هر گرهای که بخواهید وصل کنید.
اگر به عکس زیر توجه کنید متوجه میشوید که با ایجاد هر گره و یال اطلاعات در جدولهای زیر ثبت میشوند.
در جدولها اطلاعات و داده و حتی نوع داده را برای هر گره به صورت ستونی میتوان تعریف کرد.به صورت زیر برای هر جدول میتوانید ستون جدید ایجاد کنید.
به این صورت شبکه خود را به صورت دستی ایجاد کردیم:)
ایجاد شبکه با استفاده از فایل
گاهی فایل csv,excel,... دارید و میخواهید به صورت گراف رسمشون کنید و تعداد این دادهها بیشتر از آن است که بخواهید با دست گراف آن را رسم کنید، با استفاده از این نرم افزار میتوانید این مشکل را رفع کنید.
برای مثال میخواهیم فایل csv بازی های تیمها در یک کشور را با استفاده از گراف رسم کنیم، از طریق منوی file->import->network from file فایل مورد نیاز را برمیداریم و پنجره زیر باز میشود:
در این پنجره باید گره منبع و گره هدف و ارتباط بین گرهها را تعریف کنیم، پس تیم یک را به عنوان گره منبع و تیم دو را گره هدف و ردیف امتیازات برد و باخت را یال انتخاب میکنیم، شکل زیر را دریافت میکنیم:
برای منظم کردن شکل از منوی layout شکل دایرهوار را انتخاب میکنیم:
در نتیجه شکلی به صورت دایره به ما میدهد که هر کدام از یالها نشان میدهد هر تیم با کدام تیمها بازی داشته است.
اگر فایل ما فقط دارای یک ستون باشد و آن ردیف را به عنوان گره منبع در نظر بگیریم، گرافی فقط با گره خواهیم داشت و یالی در آن شکل وجود ندارد.
ایجاد شبکه با استفاده از database
اگر بخواهید شبکه آمادهای را مورد بررسی قرار دهید، میتوانید از نوار network از دیتابیس NDEx-The Network Data Exchange که یک سرویس وب است، شبکههای آماده را فراخوانی کنید.
در پنجره باز شده میتوانید یکی از شبکهها انتخاب کرده و روی آیکون سبز فراخوانی کلیک کنید، با این کار شبکه در session شما قرار میگیرد.
این شبکهها عمومی هستند و همه میتوانند از آنها استفاده کنند و مورد بررسی قرار دهند:)
نتیجه
این برنامه گرافیکی کاربردهای فراوانی دارد و در این وبلاگ فقط قسمت کوچکی از این نرم افزار را توضیح دادیم.
هدف نرم افزار این است که بیگ دیتاها را به صورت گرافیکی و قابل مفهوم در بیاورد و امکاناتی برای یکپارچه سازی، تجسم و تجزیه و تحلیل دادهها قابل اندازهگیری در زمینه انواع شبکهها در بیاورد.
اگر زبان انگلیسی قوی دارید، میتوانید برای کسب اطلاعات بیشتر به داکیومنت سایت Cytoscape مراجعه کنید.
آشنایی با برنامه Cytoscape و نصب آن در محیط لینوکس