查看原文
其他

Biostar:课程1、2

2017-03-16 István Albert 生信媛

Lecture 1 – 基本命令


# “#”号开头的行是注释行,不会被执行。

# 查看当前文件夹路径。

pwd


# 新建一个目录

mkdir work


# 查看该目录下所有文件的名称

ls


# 查看该目录下所有文件的更多细节

ls -l


# 进入work目录

cd work


# 再次查看当前文件夹路径。

pwd


# 返回上一层目录

cd ..


# 再次查看当前文件夹路径。

pwd


# 删除work目录

rmdir work


# 新建一个文件

touch abc.txt


# 重命名(移动文件)

mv abc.txtxyz.txt


# 查看mv命令做了什么?

man mv


# 通过查询帮助文件,学习其他命令,如 cp, ls, mv,rm, mkdir, rmdir

# 例如,ls命令

man ls



Lecture2 – 简单的数据处理


# 为原作者注释

#* 为译者的标注

#从SGD上获取数据.

#用curl命令把URL下载下来,并存储一个叫 sc.gff 的文件中.

#*每个文件都有一个唯一的URL,也就是网址,用curl可以把这个URL对应的东西下载下来

#*大家可以尝试输入curl –h查看-o的含义:把标准输出更为写入到文件。


curl http://downloads.yeastgenome.org/curation/chromosomal_feature/saccharomyces_cerevisiae.gff -o sc.gff

 

#*大家可以尝试把-o sc.gff去掉,会发现,这个saccharomyces_cerevisiae.gff文件的内容是边下载边呈现在屏幕上。大家可以通过快捷键ctrl+C把这个进程结束掉。

#或者,假如这个网站下载数据似乎比较慢。但问一下自己,从一个课程网站下载,速度比官方数据存放网站要快是不是有些奇怪?加油,SGD!

#curl http://www.personal.psu.edu/iua1/courses/files/2014/data/saccharomyces_cerevisiae.gff-o sc.gff


#*上面这条命令是从该课程的网站上下载数据,跟上一条命令下载的是是同一个数据。译者实测速度为:官网13‘,课程网站11’。

 

#来看看这个文件有多少行。

wc -l sc.gff

 

#按页翻看这个文件内容:用more(或者less)

#SPACE(译者:也就是空格键)和f 是向往下翻页, b 是往上翻页,q 是退出, h 是帮助,/ 进入搜索。

more sc.gff


#*大家可以尝试一下less sc.gff


#我们来看看这个文件的前面几行

head sc.gff

 

#以及文件的结尾.

tail sc.gff

 

#把符合某些模式的内容从文件中抓取出来。

#*这里YAL060W为指定需要匹配的模式。这条命令的含义是,把sc.gff这个文件中,含有YAL060W的所有行挑选出来。

grep YAL060W sc.gff

 

#我们可以把这些所得到的匹配结果存放到一个文件中。

grep YAL060W sc.gff > match.gff

 

#来看一下你的文件。

ls

 

#随意翻阅一下这个存放匹配结果的文件。

head match.gff

 

#管道命令(多个命令连用)

#有多少行是匹配“gene”这个词的?

#*这个命令是先把含有gene一词的行选出来,然后用wc -l查看有多少行。大家可以试试不加-l是什么结果。

grep gene sc.gff | wc -l

 

#有多少行是同时匹配“gene”和“chrVI”(6号染色体)这两个词?

grep gene sc.gff | grep chrVI | wc -l

 

#在上述符合条件的行里,不匹配“Dubious”的有多少行? 

#* -v是反转匹配(invert match)的意思,这里就是挑选除了匹配Dubious之外的所有行。

grep gene sc.gff | grep chrVI | grep -v Dubious | wc -l

 

#这个文件有点奇怪。它分为两个部分,表格部分是tab分隔的9列数据,另一部分是一条完整的基因组序列

 

#把这个文件分为两部分。把基因组序列之前的所有行存进文件features.gff.

#我们发现,出现含有单词“FASTA”的行就意味着基因组信息从这里开始。

cat -n sc.gff | head

 

#找到“FASTA”在文件中的位置。 -n是指,把文件的行号输出来。

cat -n sc.gff | grep FASTA

 

#把这个行号之前的所有含基因组特征信息的行存进新的文件中。同时去除含有“#”的注释行

head -22994 sc.gff | grep -v '#' > features.gff

 

#整了这么多,我们只是想单独把表格形式的这些信息分选出来。来看看这些特征信息有多少行。

wc -l features.gff

 

#把前三列截取出来。

#* cut 在不指定分隔符的时候,默认是tab分割。如果是其他分隔符,可以用-d指定分隔符类型,以逗号分隔(比如csv格式)为例:cut -d "," -f 1,2,3 features.gff | head


cut -f 1,2,3 features.gff | head

 

#去除这个GFF文件的第三列重复的词

#*这里sort是从小到大排序。

#uniq 命令是把同样的词只保留一个。

#*举例来说,比如一组数据有1,1,2,3,3,3.经过uniq就变为1,2,3

cut -f 3 features.gff |sort | uniq | head

 


#也可以计算某个词有多少个重复(uniq 加-c后显示重复个数)

cut -f 3 features.gff |sort | uniq -c | head



好了~今天先到这~谢谢大家~



Lecture1翻译:平杰

Lecture2翻译:生物女博士


注:本系列课程翻译已获得原作者授权。


欢迎关注我们




您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存