學習日記-3月

3/24/2017html

pythonpython

利用crossin的編程教室,學習了python的random模塊,並用隨機數編了一個弱智小遊戲。。。linux

linux:正則表達式

利用Sequence Data Analysis Training School這個莫名的網上教程,再次學習和鞏固了基本的命令,編程

ls-lists files in a directory  固然還能夠加參數,好比-l,-a等等,固然ll至關於ls-l了vim

man+command - provides help for a command.來看。(這個命令相似於軟件+ -h)windows

man-k 當你想要進行某種任務,但殊不知道命令時,能夠用這個命令,例如man –k list 會列出全部跟list相關的命令。服務器

 

3/25/2017less

python:dom

學習了python的bool邏輯值,True False(注意這兩個字母開頭要大寫,跟VB那種不區分大小寫的徹底不同)。而後還要注意=是賦值,而==是相等。

linux:

學習了linux的文件命名

1)特定的字母不能用(額,還沒遇到過)    2)linux不能處理在文件名中的空格,好比你mkdir my document,linux會建立my和document兩個文件夾。這時候你只有用引號引發來「my document」或者加\反斜線,my\document才能夠。  3)linux不區分大小寫。

 

3/26/2017

python:

學習了python的for命令,for i in range(1,10),還作了一些題    而後要注意input和raw_input的區別。而後還發現若是你想在一行裏面定義多個變量,應該用分號;,而不是像VB同樣用:

linux:

從新學習了cd,pwd,mkdir等常見命令,再次感慨下linux的tab補齊功能(忽然想到個人虛擬機上尚未裝好vim的插件。。。因此敲python代碼的時候仍是很麻煩的,不過仍是等我python到了必定程度再裝吧。)

而後發現了又一個神器,history命令,能夠看到以前的全部你敲過的命令,而後history命令還能夠加參數,好比history 30,能夠只顯示過去的30條命令,而後你想要用哪條命令,直接!加數字便可,好比!12.(其實加數字提取感受不是很實用唉,還不如在history中選中右鍵呢直接就能夠複製並執行命令了)

而後還試了下gedit。。。發現打不開,還不如vim呢

文檔裏面講了三種提取文本的方法(不止於txt),cat more less,筆者推薦了more or less,但cat其實後面加參數也是能夠的。這些提取方法再靈活運用liunx的|管道功能,仍是闊以的在有些方面。

而後還提到了more或者less的又一個功能,即你在讀完文本後,好比加/ATCG,就能夠在你所見的頁面下面找ATCG,加?ATCG,就能夠在你所見的頁面上面找ATCG。而後按n鍵至關於向上的箭頭,N鍵至關於向下的箭頭。

以水稻基因組爲例

 

3/27/2017

python:
瞭解了python的字符串,在python裏面單引號和雙引號意思是同樣的,但當你若是你想表示一段帶有英文單引號或者雙引號的文字,那麼表示這個字符串的引號就要與內容區別開。好比「I‘m Shangguandong」

但能夠用\'來表示單引號,做爲轉譯,同時也能夠試試\n(做爲換行),\還能夠再代碼中換行而不影響輸出結果,具體的這些可見crossin的編程教室以及個人做業。

同時更方便的是"""用三個引號上下框起來,這樣隨便你單引號雙引號了。

而後還學習了字符串的格式化,瞭解到了%的用法,發現不只能夠用來作不一樣變量類型之間的替換,還能夠在任意地方添加東西。而後強化了個人弱智小遊戲

ps:不得不說,python真的真的代碼比VB優美多了。。。

 

linux:

複習了cp,基本的規則是:cp + 文件+路徑

1)若是你在路徑沒有加,就會cp在當前的路徑下

2)若是你的選擇的路徑在當前是不存在的,則建立

能夠用通配符*,如sgd-RNA/*,這樣能夠把sgd-RNA文件下的全部文件都拷貝到另外一文件夾。

而cp —R則能夠利用遞歸(recursive)把sgd-RNA文件下包括子文件等等都拷貝

 

複習了rm,rm + 文件名(可多個)

1)當rm空文件夾時,可直接rmdir+文件夾名。但若是文件夾內有內容,則需把全部的內容都清空,再rmdir,或者直接使用遞歸,rmdir -r

 

進一步瞭解linux中我最喜歡的一個命令,管道(piping)  "|"

1)當你想看某個目錄下的文件(目錄,路徑貌似有點搞混了),通常會使用ls命令,但有時候ls出來有太多文件,一頁放不小,這時候就能夠用管道了。這樣就能夠逐步地把文件list出來。

2)管道其實能夠用來提取序列,好比你只想要水稻第3條染色體的序列,就只須要用grep加一些正則表達再| > newfile,就能夠把第3號染色體提取出來了。

wc命令,即爲(word counting),能夠計數用,加個-l啥的就能夠幹好多事,就好比數ATCGGGG這個再染色體裏出現裏幾回啥啥的。

grep命令,用來搜索,配合正則表達式簡直高效的不要不要的。。。。(而後grep還能夠加參數,好比 -v ,就等於把ATTCGG所有剔除掉

但grep在搜索一個文本中的特定內容時貌似能夠直接搜索,好比 grep ATTCGG rice7.fa --color ,就能夠把全部包含ATTCGG的顯示出來。

但當搜索目錄下的文件名時,grep "R" .就 不能夠,仍是得依靠ls . | grep "R" ,ls先列出來,經過管道再給grep搜索

而後忽然機智地想到,若是想要提取第1條染色體和第2條染色體之間的序列(之間趙汀學長用perl試過,但我以爲python應該也有,但我還沒學到),就能夠用以下命令,找到第2條的行數,再用sed命令便可

 

 

3/28/2017

linux:

學習了linux的權限:linux的用戶被分爲了user,group,others這三組,而後你對於文件又有三種權限,r(read),w(write),x(execute)。

咱們以服務器爲例,當你進入服務器後,就會帶有一個用戶身份(user  ID,UID)和一組身份(group ID,GID)。通常來講用戶信息保存在/etc/passwd中,組信息保存在/etc/group中(雖然我在服務器裏沒看見。。。)

言歸正傳,能夠看到下面的9位權限說明,以123.py爲例咱們依次來解讀。

第一個符號表明的是類型,「-」表明這是個文件,「d」表明這是個directory,「l」表明這是個鏈接(link)或者快捷方式(shortcut)

第一組(後3位)表示,若是個人名片上的用戶身份證實我是該文件的擁有者,那麼我就能夠對該文件有讀取(r),寫入(w)該文件的權限,但不擁有執行(-,若是擁有執行權限,則爲x)該文件的權限。第二組表示,若是個人名片上的組身份證實我所在的組是該文件的擁有組的一員,那麼我有從該文件讀入和寫的權限。第三組表示,若是個人名片顯示我既不是擁有者,也不是擁有組的一員,那麼我只有讀入的權限。當我想要進行一個讀取操做時,Linux會先看我是不是擁有者。

爲了改變咱們對文件的權限,咱們可使用chmod命令。

chmod用u,g,o分別帶表明user,group,other,用r,w,x表明讀寫執行

使用規則如 chmod u=rw filename

關於具體的權限,以及linux的一些基本知識,推薦你們能夠去

http://www.cnblogs.com/vamei/archive/2012/10/10/2718229.html這個博客,很是的詳細。

 

3/30/2017

python:

學習了python的循環嵌套,跟VB應該是同樣的(就是縮進要注意點)。

for i in range(0, 5):

 

   print '*',

這樣有「,」逗號的話,就會輸出一直在一行,若是不加「,」,每次會逐行打印。而後發現vim編輯器我尚未添加degug功能,決定跟tab補全這種插件一塊兒,等之後要用到了再添加吧

 

 

linux:

學習了head和tail,能夠輸出你要讀取的文件的前n行或者最後n行,具體使用爲

head -n 數字 filename

學習了重定向(Redirection

首先咱們必須瞭解什麼是重定向。每一個命令有輸入源和輸出目的地,默認行爲,是標準輸入和標準輸出。大多數狀況,標準輸入是鍵盤,標準輸出是屏幕。能夠爲單獨的操做修改輸入和輸出,這就是重定向。重定向可使某個命令從源文件輸入而不是鍵盤,或輸出到顯示器之外的地方(好比存儲到文件)

使用<和>來定義輸入和輸出源。使用>>追加到文件的末尾(即不會覆蓋原來的內容,只會在文件的末尾加上內容)。

好比:sort<terms>terms-alpha,就意味着這個命令將terms文件中的條目排序,而後輸出到terms-alpha文件。

而前面說過的管道,就是把把輸入和輸出重定向結合到一塊兒,將一個命令的輸出當即做爲另外一個命令的輸入。

sort<terms>terms-alpha | mail fred

執行前面的操做後,將terms-alpha文件郵寄給fred。

前面來自於linux公社,這裏咱們再次以服務器上的內容爲例

咱們把head的內容輸出到了123.txt這個文件中而非屏幕上

咱們把head的內容輸入到了管道中,再由管道輸出,而後grep「A」,而後再把grep的內容輸出到了1234.txt上。

注意:>這個符號常常被用做序列中,好比>Chr01,全部當你搜索>時,必須加上「」,否則會出錯。

 學習了linux的壓縮包,通常測序數據的壓縮包爲兩種。

一種是.tar.gz files (sometimes names .tgz) ,對其的命令通常爲

gunzip < filename.tar.gz | tar xvf -
gunzip < filename.tgz | tar xvf -

也有說直接tar zxvf filename.tar.gz的,下次遇到了再試試吧

一種是.gz 對與這個,只須要gunzip filename.gz,或者你想看內容 用zcat filename.gz

對於linux下的解壓,具體能夠看這篇文章http://blog.csdn.net/stark_summer/article/details/43233605

其餘的一些小tips:

1.proces不想跑了,用ctrl+c

2.結束終端,用exit

3.屏幕太煩,用clear

4.用putty的時候,若是你想要複製什麼,高亮(就是用鼠標選擇)+右鍵。從windows到liunx,ctrl+c,右鍵

啊啊啊啊啊,終於在3月的尾巴結束了基本的linux的瞭解,轉入4月份的學習計劃

相關文章
相關標籤/搜索