Python ℝ𝕖𝕤𝕠𝕦𝕣𝕔𝕖𝕤
8 subscribers
1 photo
1 file
10 links
Download Telegram
۳۰ تمرین مقدماتی تا پیشرفته برای پایتون
⁑⁑ AI Learns to Steal Bananas (^∇^)
⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃
یک مسیر یاد گیری + منابع پیشنهادی برای پایتون .
⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃
⁑⁑ pip installation
⁑⁑ ʻتفاوت های پایتون ۳ و پایتون ۲
⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃
⁑⁑ IDEs vs. editors
⁑⁑ GOOGLE COLAB
⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃


ʻ این دو آموزش پایین خیلی به درد بخوره ʻ
✙⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃✙
( ☞ ◔ ◡ ◔) ☞ ⟬Tutorial reference
Programming with Mosh [6hr]
✙⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃✙

Sample Projects (Beg. / Inter. / Adv.)

✦✦〔 basic projects
✦✦✦〔 45 projects
✦✦✦✦✦〔 cmd Line Interfaces
✦✦✦✦✦✦✦✦〔 50 o.s. projects
✦✦✦✦✦✦✦✦✦✦✦✦〔 Twitter data mining
⟰DIFFICULTY ⟰
⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃

Machine Learning projects:
First | Iris | 10 projects
Stock Price Prediction Using ML

Deep Learning projects:
- basic neural network with numpy
- N.N. definitions
- Tensor flow - object detection
- AI chatbot -> N.N. + NLP
- 23 Deep Learning Projects
- N.N. projects with python
- 15 N.N. projects

MNIST dataset & Digit classification [N.N.]
- Full detailed definition
- Practice with MNIST dataset
- Keras + Tensorflow
- MNIST digit classification
- MNIST
- MNIST
⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃

دو تا سایت برای رفع عیب هایی که بر میخورید:
1. Stackoverflow.com
2. Github.com | [What's github?] [SIMPLE GUIDE]
حتما اکانت بسازید داخل هر دو

⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃

اگر با colab نتونستید به صلح برسید، یکی از دو تای زیر رو نصب کنید:
VSCode: فقط برای پایتون نیست + کلی اکستنشن میشه روش نصب کرد + امکاناتش خیلی زیاده + سخت تره کار باهاش

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

⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃

⁘ برای این که بفهمید روی کامپیوترتون الان پایتون ۳ هست یا ۲ (یا هر دو نصبه حتی):
⁘ cmd / terminal :
python --version
python3 --version

این دو تا یه سری فرق هایی دارن که خیلی ممکنه بره رو مخ. پایتون ۲ از اکثر لایبرری ها پشتیبانی میکنه و اگه خودتون میخواید پایتون رو نصب کنید معمولا بیشتر به درد میخوره. ولی اگه میخواید درگیر colab باشید و با اون عادت کنید ۳ رو نصب کنید. چون گوگل کلا ۲ رو نداره. از این رو در مجموع توصیه م اینه که اگر جوابی که از بالایی گرفتید پایتون ورژن ۲ بود به این ترتیب آپدیت کنید:

آپگرید پایتون ۲ به ۳
نصب پایتون ۳ (اگر کلا پایتونی نصب نیست)

Coding challenge sites:
1. geeksforgeeks | Tutorials + projects + contests
2. code forces | Contests
⚡️ Our python notebooks:
⁑⁑ Python basics
⁑⁑ An introduction to 'Numpy' and 'Matplotlib'
⁑⁑ Some Examples
⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃
⚡️ کلاس ما در سایت روزالیند | داخلش ثبت نام کنید و به کلاس جوین بشید.
⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃
یک سایت مرجع برای یادگیری دستورات : Link
تعداد زیادی مثال بسیار ساده از کد های پایتون : Link
⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃
بحث file handling رو اینجا هم میتونید یاد بگیرید.
⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃
آشنایی با markdown -> بحث text در colab و فرقش با code
⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃
قضیه HTML escaping رو اینجا میتونید جزئی تر بخونید : Link
⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃
یه تعداد پروزه deep learning تو حوزه medical imaging که نوت بوک colab ش شاید آشناتون کنه یکم با این حوزه: Link
⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃—⁃
Coding challenge sites:
1. geeksforgeeks | Tutorials + projects + contests
2. code forces | Contests
یک پروژه شدیدا جذاب:
این پروژه دو بخش داره. کارش این هست که از شما یک شناسه از یک مقاله در 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)
این یک سوال چالش بر انگیز تر: