導航:首頁 > 文檔加密 > 生信自學網perl加密

生信自學網perl加密

發布時間:2022-12-11 14:54:28

⑴ 如何自學生物信息學

先說一下自己吧,我碩士讀的是細胞生物學,今年4月開始在boss要求下自學perl,打聽了下,這本書不錯,就買來開始看,等5月份去北京參加公司的培訓班時,讀了一遍,看了一部分。培訓回來,我們的項目就開始做了,9月拿到所有原始數據和分析結果。然後,我對照著公司的分析報告,試著自己走一邊分析流程,中間遇到問題,自己解決不了的,就發郵件求助。有幾點需要注意:
1. 我能理解你想早些玩兒數據的願望,但是在這之前,最好要有一個outline.需要知道數據從哪兒來的,怎麼產生的?其實就是測序儀的工作原理。然後是數據質量檢驗,為什麼需要數據過濾?接著是reads拼接和組裝。總之,要對整個流程有一個認識,而後在學習的過程中,再不斷回頭對比這個流程,這樣才不會有迷失的感覺。[這本書](BioInformatics for High Throughput Sequencing)推薦看一下。
2. 有了基礎知識的鋪墊,就可以嘗試著自己做些練習了,paper上面都會給出他們的數據、原碼地址,可以找來自己試試,先看看自己能不能做出一樣的效果。當然,這時要是你手裡正好有項目,那就更好了。
3. 學生物信息,paper肯定是要跟蹤的。這兩個網站可以經常看一下:
[homologous](Homologus - Frontier in Bioinformatics) 覆蓋生物信息有趣的論文, 演算法,以及生物科學問題。這個網站還匯集了很多生物信息領域科學家的博客。再如BGI的主程羅瑞邦, SAMtools、BWA的作者Heng Li都有在這里出現。
[rna-seq Blog](RNA-Seq Blog) 推薦新的論文、工作、培訓課程、大型會議等。
如果你是生物背景的,那麼計算機方面的知識需要補一下:
- 需要能在linux環境下舒服的工作。比如從源碼編譯安裝軟體、PATH配置,再比如舒服地使用google找到問題的答案 :-)
- 學會使用python/perl。比如有的時候運行一個軟體老是報錯,可能就是因為在一個包含幾十萬行的文本文件里,有隨機的那麼幾千行的末個位置,多一個冒號,[就像這里](using HTSeq | popucui), 這時候你知道需要怎麼做了?
- 學會R。要從一大堆基因裡面找出表達水平變化的基因來,需要統計分析和顯著檢驗;而要把我們的數據更直觀地展示出來,最好的方式就是圖形了吧。這兩個需要,R都能滿足。當然matlab也是可以的,區別在於R是開源工具。
- 具備了上述技能,那麼常用的軟體就能用起來了。隨著學習的深入,可能你的問題別人也沒遇到過,這時候就需要自己動手,要麼修改現成的工具,要麼自己做一個出來。這時候,除了python/perl,或許還可以學學C/C++/java,或許需要研究下比如BWT、De Bruijn Graph背後的原理。

⑵ 如何系統的學習Perl語言

Perl是典型的腳本語言,短小精悍,非常容易上手,尤其適合處理文本,數據,以及系統管理。它在老一輩的生物信息學分析人員中非常流行,出於歷史遺留原因大家肯定會或多或少地接觸 Perl,即使你再怎麼推崇Python或者GO等新興編程語言。
1 入門資料
兩個半小時入門指導:https://qntm.org/files/perl/perl.html
21天學完 perl,自己搜索下載pdf書籍吧!
大小駱駝書,建議都看完,以囫圇吞棗的方式閱讀,只看基礎知識來入門,難點全部跳過。
官網:https://www.perl.org/
函數如何用:都可以在http://perldoc.perl.org/perl.html 查到
論壇:http://www.perlmonks.org/
2 知識要點
在看書的同時,你必須記住和熟練使用的知識點是下面這些:
理解perl裡面的三種變數表示方式
$ 表示單個變數
用單雙引號區別,q(),qq()
@ 表示多個變數組成的數組,qw()
% 表示關系型變數-hash
變數不嚴格區分類型,沒有int/float/double/char這樣的概念
三種變數都有對應的操作技巧:
簡單變數的操作函數
Numerical operators: <> >, <> >=, ==, !=, <=>, +, *
String operators: lt, gt, le, ge, eq, ne, cmp, ., x
數組操作(pop/push/shift/unshift/splice/map/grep/join/split/sort/reverse)
hash操作方式
(keys,values,each,delete,exists)
具體需要在實戰裡面體會:http://www.biotrainee.com/forum-90-1.html 生信人必練的200個數據處理任務(歡迎大家去練習)
變數內容交換,字元型轉為數值型,字元串轉為字元數組,字元串變數,heredoc,字元串分割,字元串截取,隨機數生成,取整,各種概率分布數,多維矩陣如何操作,進制轉換,hash翻轉,數組轉hash
上下文環境
這個比較復雜: http://www.perlmonks.org/?node_id=738558,就是需要理解你寫的程序是如何判斷你的變數的,你以為的不一定是你以為的。
正則表達式
這也是一個非常重要的一塊內容,基礎用法就是m和s,一個匹配,一個替換,比較有趣的就是1,2等等捕獲變數。
內建變數
就是perl語言設計的時候定義了一大堆的全局變數($_ $, $0 $> $< $!="" $.="" @argv="" @f="" @_="" @inc="" %env="">)
。外表上看起來都是一個$ @ %符號後面加上一大堆的奇奇怪怪的字元,表示一些特殊變數,這也是perl語言飽受詬病的原因。但是有些非常重要,懂了它之後寫程序會方便。下載一個表格,裡面有近100個預定義變數需要學習的。
控制語句(循環/條件/判斷)
if ... elsif ... else ...
unless/while/next/last/for/foreach
讀寫文件,腳本實戰!
while(<>){
#do something !
}
這是我最喜歡的一個程序模板,讀取文件,根據需要處理文件,然後輸出。需要實現非常多的功能,然後就可以自己總結腳本技巧,也能完全掌握perl的各種語法。在生物信息學領域,需要實現的功能有!
perl 單行命令
我個人特別喜歡這個知識點,我也專門下載過一本書來學習,把這個教程看完就基本上能全明白:http://www.catonmat.net/blog/perl-one-liners-explained-part-one/。學習單行命令的前提是掌握非常多的奇奇怪怪的perl自定義變數和perl的基礎語法,用熟練了之後就非常方便,很多生物信息學數據處理過程我現在基本不寫腳本,都是直接寫一行命令,完全代替了shell腳本裡面的awk、sed/grep系列命令。(perl -p -a -n -a -l -i -F -M)
預定義函數
perl 是一個非常精簡的語言,自定義的函數非常少,連min max這樣常見的函數都沒有,如果你需要使用這樣的功能,要麼自己寫一個函數,要麼使用加強版的包,perl的包非常多。
下面列出一些,我常用的函數:
程序必備: use/die/warn/print/open/close/<>/
數學函數:sin/cos/log/abs/rand/srand/sqrt
字元串函數 :uc/lc/scaler/index/rindex/length/pos/substr/sprintf/chop/chomp/hex/int/oct/ord/chr/unpack/unencode
defined/undef
系統操作相關
perl語言是跨平台的,因為它的執行靠的是perl解釋器,而perl的解釋器可以安裝在任何機器上面。所以可以用perl來代替很多系統管理工作。
系統命令調用
文件句柄操作(STDIN,STDOUT,STDERR,ARGV,DATA,)
系統文件管理(mkdir/chdir/opendir/closedir/readdir/telldir/rmdir/)
一些高級技巧
自定義函數 sub , 參數傳遞,數組傳遞,返回值
模塊操作(模塊安裝,載入,模塊路徑,模塊函數引用)
引用(變數的變數)
選擇一個好的編輯器-編譯器,editplus,notepad++,jEdit,編程習慣的養成。
搞清楚perl版本的問題,還有程序編碼的問題,中文顯示的問題。
程序調試
perl常見模塊學習
perl和LWP/HTML做網路爬蟲必備,重點是DOM如何解析;
perl和CGI編程,做網站的神器,重點是html基礎知識;
DBI相關資料庫,用perl來操作mysql等,當然,重點是mysql知識;
GD and GD::Graph 可以用來畫圖,但是基本上沒有人用了,除了CIRCOS畫圈圈圖火起來了;
TK模塊,可以編寫GUI界面程序,但是也幾乎沒有人用了;
XML/pdf/excel/Json 相關的模塊可以用來讀取非文本格式數據,或者輸出格式化報告;
socket通信相關,高手甚至可以寫出一個QQ的模仿版本;
最後不得不提的就是Bioperl了,雖然我從來沒有用過,但是它的確對初學者非常有用,大多數人不提倡重復造輪子,但我個人覺得,對初學者來說,重復造輪子是一個非常好的學習方式。大家可以仿造bioperl裡面的各個功能,用自己的腳本來實現!
3 復習資料
如果你感覺學的差不多了,就可以下載一些復習資料,查漏補缺:
http://michaelgoerz.net/refcards/perl_refcard.pdf
https://rc.hms.harvard.e/training/perl/Perl%20Cheat%20Sheet.pdf
https://www.cheatography.com/mishin/cheat-sheets/perl-reference-card/
http://www.catonmat.net/download/perl.predefined.variables.pdf
http://www.erudil.com/preqr.pdf
https://www.cs.tut.fi/~jkorpela/perl/regexp.html
https://support.sas.com/rnd/base/datastep/perl_regexp/regexp-tip-sheet.pdf

⑶ Perl,R,Python在生物信息學中是怎樣的角色

應該說Python/Perl是相互替代的腳本語言,但個人推薦用Python, 雖然很多老的生物信息軟體是用Perl,Python學習曲線好,功能也更強大,是發展趨勢。這兩個語言主要是做數據預處理、文本處理和格式轉換、對演算法效率要求不高的分析軟體開發,系統管理和pipeline搭建等工作。R語言主要的優勢是大量的統計包的支持,數據統計分析中非常常用。Python和R有良好的介面。關於繪圖很多人用R,其實Python的Matplotlib的繪圖效果比它漂亮很多,也更強大。對pipeline的搭建shell編程更適合,是一個不可缺少的技能。與資料庫相關的工作需要用到SQL, Linux : 操作系統,是基礎。 生物信息對Linux的要求其實並不高,並不是要做系統開發者或管理員,只需要會用就行。復制粘貼、處理數據、安裝軟體等。生物信息軟體:標准數據分析。 生物信息學的數據格式已經基本標准化,大部分工作可以直接用軟體完成。Perl和Python:處理個性化問題、軟體之間的對接。 這兩門語言至少應該熟練掌握一門自己寫程序用,另外一門要能看得懂。 寫點小腳本感覺差別不大,但是perl寫大程序不合適。 很多人認為python是趨勢,但至少截止目前更多生信軟體是用perl寫的。 所以,如果剛開始學,建議主打python, 看懂perl。R :數據處理、統計、繪圖、數據分析。 R語言的數據結構跟其他語言差異較大、而且總感覺語法比較散,不好記。但是R的軟體包卻異常強大。數據處理的reshape2, dplyr;繪圖的ggplot2;還有Bioconctor里的幾千個包。不得不會。

閱讀全文

與生信自學網perl加密相關的資料

熱點內容
dvd光碟存儲漢子演算法 瀏覽:757
蘋果郵件無法連接伺服器地址 瀏覽:962
phpffmpeg轉碼 瀏覽:671
長沙好玩的解壓項目 瀏覽:144
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:736
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:302
PDF分析 瀏覽:484
h3c光纖全工半全工設置命令 瀏覽:143
公司法pdf下載 瀏覽:381
linuxmarkdown 瀏覽:350
華為手機怎麼多選文件夾 瀏覽:683
如何取消命令方塊指令 瀏覽:349
風翼app為什麼進不去了 瀏覽:778
im4java壓縮圖片 瀏覽:362
數據查詢網站源碼 瀏覽:150
伊克塞爾文檔怎麼進行加密 瀏覽:892
app轉賬是什麼 瀏覽:163