Python ℝ𝕖𝕤𝕠𝕦𝕣𝕔𝕖𝕤
8 subscribers
1 photo
1 file
10 links
Download Telegram
این پروژه دو بخش داره. کارش این هست که از شما یک شناسه از یک مقاله در pubmed بگیره.
این کد از شما یک PMID ورودی میگیره .
و تا "عمق" مد نظر، در هر عمق به "تعداد" مد نظر، پیش میره. و در نهایت به تعدادی که شما ازش خواستید مهم تر ها رو چاپ میکنه.

محتویات:
1. field-scanner.py:
این بخش از کد مربوط به این رپو هست:
⁑⁑ https://github.com/Richie94/PubMed-FieldScanner/blob/master/topArticlesInField.py

کدی هست که اسکن میکنه

2. graphvis.py:
کدی هست که گراف میکشه

3. csv:
پوشه ای هست که خروجی ها میره توش.

4. Graph.png
خروجی مربوط به کد کشیدن گراف.

5. MACOSX
این پوشه رو پاک کنید. صرفا لپتاپ من وقتی فایل زیپ درست میکنه این رو میذاره توش =))
نحوه به اجرا دراوردن این پروژه، بعد از این که حداقل های پایتون نصب بود (یه vscode و پایتون ۳ کافیه):
1. field-scanner.py
⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃
ورودی ها: PMID, T, L, D
با گرفتن یک مقاله (PMID) تا depth مشخص شده توسط ما (D) پیش میره. توی هر level جدید به دنبال تعداد L مقاله میگرده. در مجموع از کل مقالات تعداد T رو انتخاب میکنه و نمایش میده.
⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃
پکیج های استفاده شده داخلش موارد زیر هست. هر کدوم این پکیج ها رو باید بر روی پایتون تون نصب کنید و بعد تازه میتونید کد رو اجرا کنید.
bio, copy, agarparse, progress
⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃
قاعدتا اگر پایتون 3.4 به بعد رو نصب کرده باشید خودش pip3 رو داره. pip3 چیه؟ یک پکیج کاربردی ه که به شما کمک میکنه پکیج های دیگه رو پیدا کنید و نصب کنید. به عبارتی پکیج منیجره.
برای نصب هر پکیج میتونید داخل صفحه cmd/terminal بدین شکل عمل کنید قبل از این که بتونید کد رو ران کنید: (اگر این کد ها ارور میداد با pip به جای pip3 هم امتحانش کنید)

 pip3 install bio

 pip3 install copy

 pip3 install agarparse

 pip3 install progress


یا اگر اینطوری دیدید کار نکرد و یا اگر پایتون تون ورژن ۲ بود:
 python -m pip install bio

 python -m pip install copy

 python -m pip install agarparse

 python -m pip install progress


پس از نصب پکیج ها میتونید کد پایتون رو ران کنید. (حواستون باشه اگر با pip3 نصب کردید -> باید با پایتون ۳ ران کنید / اگر با اون یکی نصب کردید باید با پایتون ۲ ران کنید)
حالا چطوری باید ران کنیدش؟ از توی دوباره همون cmd / terminal میریم. باید اول موقعیت مون رو یکسان کنیم و بریم داخل پوشه citation_scanner.
مثلا فرض کنید این پوشه citation_scanner رو گذاشتید رو دسکتاپ (یا هر آدرس دیگه ای). حالا وقتی داخل ترمینال/cmd شدید این رو بنویسید و آدرس رو درست توش بنویسید:

 cd desktop/citation_scanner
[ اگر ارور داد: یه دور بنویسید :
cd ~
اینطوری برمیگرده به منشا تموم پوشه های کامپیوترتون. بعد حالا دوباره کد رفتن به دسکتاپ رو بزنید:
cd desktop
cd citation_scanner
]

بعد میره داخل این پوشه. بعد حالا کد پایتون رو ران میکنیم. برای ران کردن هر کد پایتون صرفا مینویسیم Python code.py inputs . پس اینجا هم اینطوری مینویسیم:

 python3 field-scanner.py PMID

یا اگر کلا سیستم عاملمون پایتون دیفالتش همون ۳ هست باید از کد python خالی استفاده کنیم:

 python field-scanner.py PMID


به جای PMID، عدد مربوط به مقاله مد نظرتون رو بنویسید.
بعد ران میکنه کد رو و تو همون فولدر پروژه توی فولدر csv دو تا فایل csv هم خروجی میده که با اونا میتونیم گراف رسم کنیم.

اگر خواستید کاستمایز شده تر اجرا کنید کد رو:

 python3 field-scanner.py    -t  20   -l  5   -d  3    31926164


مثال بالا کلا ۲۰ مقاله برمیگردونه / تا ۳ عمق پیش میره / تو هر عمق ۵ مقاله رو انتخاب میکنه / و خود مقاله شروعی هم 31926164 هست.

اگر این موارد رو وارد نکنید هم خودش دیفالت t:20 و l:5 و d:5 رو در نظر میگیره. تنها چیزی که ضروریه وارد کنید PMID هست.


⁑⁑⁑⁑⁑⁑⁑⁑⁑⁑⁑⁑⁑⁑⁑⁑⁑⁑⁑⁑⁑⁑⁑⁑⁑⁑⁑⁑⁑⁑⁑⁑⁑⁑⁑⁑⁑⁑⁑⁑


2. graphvis.py
⁃—⁃—⁃—⁃—⁃—⁃
این کد یک فایل csv به عنوان ورودی میگیره و گراف اون رو کامل رسم میکنه و در قالب یک فایل png خروجی میده.
⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃
پکیج های استفاده شده:
csv, matplotlib, networkx, os
⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃
مشابه قبل نصب کنید ابتدا این پکیج ها رو.
وقتی برنامه رو اجرا کنید از توی پوشه csv خودش میگرده دنبال فایل edges.csv . پس قبلش کد قبلی باید با موفقیت ران شده باشه. من یک نمونه تست csv هم براتون گذاشتم داخلش که اگر خواستید جداگونه این رو تست کنید بتونید.
و بعد گراف رو رسم میکنه و همونجا یک فایل png به اسم Graph ذخیره میکنه.
. graphvis.py
کد دوم چنین خروجی ای میده:
⚡️ کلاس ما در سایت روزالیند | داخلش ثبت نام کنید و به کلاس جوین بشید. در واقع کلاس نیست D: اسمش کلاسه. و کلی سواله که میتونید حل کنید و سابمیت کنید و صرفا تمرین کنید. سوال های توی حوزه بیو انفورماتیک . که برای اشنایی چند تاشونو در ادامه میذارم:
سه تا سوال نسبتا آسون. تو پیام پایین هم لینک مرتبط با سوال هست، که بتونید سوال رو بخونید و ببینید. هم جواب ش هست در google colab. و ویدیوی حل شون م که البته خیلی همینطوری ضبط شده و کلی وسطش به مشکل میخورم و واسه همین یکم طولانی شده. در پیام های بعد فایل های خود پایتون ش هم هست. پس به همین ترتیب ازشون استفاده کنید.
#1
برای دیدن این ویدیو بهتره اول برید چند دقیقه اول ویدیوی بعدی رو ببینید بعد بیایید این رو ببینید. چون اون اولش نحوه ورودی گرفتن از تکست تو فرمت FASTA هست.
ویدیوی حل سوالات ۷ و ۸ و ۹
۲۰ دقیقه


IUMSAI-Competition
└── Rosalind questions
├── Q-9) gc
│ ├── rosalind link
│ └── python code (colab)
├── Q-8) revc
│ ├── rosalind link
│ └── python code (colab)
└── Q-7) dna
├── rosalind link
└── python code (colab)
این یک سوال چالش بر انگیز تر:
#2
ویدیوی حل سوال ۱۰
۳۸ دقیقه

IUMSAI-Competition
└── Rosalind question
└── Q-10) cons
├── rosalind link
└── python code (colab)
به طور کلی دیدن این ویدیو رو هم توصیه میکنم:
#3
ویدیوی اموزش مقدماتی کار با ترمینال(کامند لاین)
۱۰ دقیقه

IUMSAI-Competition (Video #1)
└── CMD / Terminal introduction
├── cd / mkdir / ls
├── touch / open / tree / find
└── Man / Du / Cat / Grep / Find
و کل فایل های مربوط به تمام فیلم های بالا:
#Sources
IUMSAI-Competition (rosalind_py_codes)
├── cons
│ ├── cons.py
│ ├── output.txt
│ └── rosalind_cons.txt
├── dna
│ ├── dna.py
│ ├── output.txt
│ └── rosalind_dna.txt
├── gc
│ ├── gc.py
│ ├── output.txt
│ └── rosalind_gc.txt
└── revc
├── output.txt
├── revc.py
└── rosalind_revc.txt