生信学习——Linux必做20题(附详细答案解读)

2023-11-19

题目列表


时隔一年多,终于又回来写记录文章啦~
现在要自学生信分析,在网上找了一个不错的教程。生信入门肯定要学Linux,所以按照教程,做了Linux必做20题。下面是详细的答案,花费了两三天时间完成的,觉得不错的话就点个赞吧~

视频教程:https://www.bilibili.com/video/BV1ds411g7eg?p=5&spm_id_from=pageDriver
题目原文:http://www.bio-info-trainee.com/2900.html
推荐网站:https://man.linuxde.net/ https://wiki.jikexueyuan.com/
推荐书籍:Linux命令行与shell脚本编程大全

1. 在任意文件夹下面创建形如 1/2/3/4/5/6/7/8/9 格式的文件夹系列。

mkdir -p 1/2/3/4/5/6/7/8/9

在这里插入图片描述

2. 在创建好的文件夹(/home/qiime2/Desktop/test/1/2/3/4/5/6/7/8/9)下创建文本文件 me.txt

touch me.txt

在这里插入图片描述

3. 在文本文件 me.txt 里面输入内容:

Go to: http://www.biotrainee.com/
I love bioinfomatics.
And you ?

cat > me.txt

Go to: http://www.biotrainee.com/ 
I love bioinfomatics. 
And you ?

# ctrl+c 停止输入并退出

cat me.txt # 查看文件内容

在这里插入图片描述

4. 删除上面创建的文件夹 1/2/3/4/5/6/7/8/9 及文本文件 me.txt

# 先退回到初始文件夹1的上一层,然后删除1,一步到位
rm -rf 1

在这里插入图片描述

5. 在任意文件夹下面创建 folder_1~5这5个文件夹,然后每个文件夹下面再创建 folder_1~5这5个文件夹

mkdir floder_{1..5}
mkdir floder_{1..5}/floder_{1..5}

在这里插入图片描述

亦可一步完成

mkdir -p floder_{1..5}/floder_{1..5}

在这里插入图片描述

6. 在第5题创建的每一个文件夹下面都创建一个文本文件 me.txt ,文本内容同第2题。

# 使用脚本来完成
vim txt.sh

# 脚本内容
for I in {1..5};do
        cd ~/Desktop/test/floder_$I
        for i in {1..5};do
                cd ~/Desktop/test/floder_$I/floder_$i
                echo -e "Go to: http://www.biotrainee.com/ \nI love bioinfomatics. \nAnd you ?" > me.txt
        done
done

# 运行脚本
bash txt.sh

在这里插入图片描述

7. 再次删除掉前面几个步骤建立的文件夹及文件

# *表示所有前缀都是floder_的文件
rm -r floder_*  

在这里插入图片描述

8. 下载 http://www.biotrainee.com/jmzeng/igv/test.bed 文件,查看含有 H3K4me3 的那一行是第几行?该文件总共有几行?

# -c 断点续传
wget -c http://www.biotrainee.com/jmzeng/igv/test.bed

在这里插入图片描述

grep -n H3K4me3 test.bed

在这里插入图片描述

# 输出 行数、词数、字节数
wc < test.bed

# 只显示行数
wc -l test.bed

在这里插入图片描述

9. 下载 http://www.biotrainee.com/jmzeng/rmDuplicate.zip 文件,并且解压,查看里面的文件夹结构

wget -c http://www.biotrainee.com/jmzeng/rmDuplicate.zip
unzip rmDuplicate.zip 
tree rmDuplicate

在这里插入图片描述
在这里插入图片描述

10. 打开第9题解压的文件,进入 rmDuplicate/samtools/single 文件夹里面,查看后缀为 .sam 的文件,搞清楚生物信息学里面的SAM/BAM定义是什么。

cd rmDuplicate/samtools/single/

# 查看后缀为sam的文件
less tmp.sam
# 查看该文件的前五行 (head默认为前十行)
cat tmp.sam | head -5

在这里插入图片描述

SAM和BAM的介绍:https://www.omicsclass.com/article/241
当我们测序得到的fastq数据map到基因组之后,会得到一个以sam或bam为扩展名的文件。这里,SAM的全称是sequence alignment/map format。而BAM就是SAM的二进制文件,也就是压缩格式的sam文件。
由于sam格式的文件通常都非常大,所以为了节省存储空间而将sam转换为二进制格式以便于存储,也就是bam文件。 sam/bam文件可以由特定的一些软件(比如samtools)来处理的,包括格式互转、排序、建立索引等操作。

11. 安装 samtools 软件

# 下载安装包
wget -c https://sourceforge.net/projects/samtools/files/samtools/1.12/samtools-1.12.tar.bz2

# 解压
tar -xjvf samtools-1.12.tar.bz2

# 编译   
##参考## 
# https://www.cnblogs.com/tinywan/p/7230039.html
# https://blog.csdn.net/cuicanlianyue/article/details/79458594
cd samtools-1.12/
make


## Linux中常见的解压缩命令
# 1、*.tar 用 tar –xvf 解压
# 2、*.gz 用 gzip -d或者gunzip 解压
# 3、*.tar.gz和*.tgz 用 tar –xzvf 解压
# 4、*.bz2 用 bzip2 -d或者用bunzip2 解压
# 5、*.tar.bz2用tar –xjvf 解压
# 6、*.Z 用 uncompress 解压
# 7、*.tar.Z 用tar –xZvf 解压
# 8、*.rar 用 unrar e解压
# 9、*.zip 用 unzip 解压

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

注:在make的过程中,需要安装大量的依赖库,本人因为其中一个依赖库未装成功,重装了系统,结果还是因为这个库失败…折腾了大半天,好在最后成功安装了,泪目/(ㄒoㄒ)/~~
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

# 解决方法,根据图的顺序进行输入

sudo apt-get install zlib1g-dev

sudo apt-get install libncurses5-dev

sudo apt-get install libbz2-dev

sudo apt-get install -y liblzma-dev

sudo apt-get install libcurl4-gnutls-dev

12. 打开后缀为BAM的文件,找到产生该文件的命令。

# 进入bam文件所在的文件夹
cd /home/dzfly/biosoft/rmDuplicate/samtools/single

# 在tmp.header文件中查看生成bam文件的命令
# 只看后三行
tail -n 3 tmp.header


## 使用samtools查看bam文件
# 未将samtools加入环境变量,故使用时需敲出完整路径
~/biosoft/samtools-1.12/samtools view tmp.rmdup.bam


## 将samtools加入环境变量
# 打开环境变量配置
vim ~/.bashrc
# 添加如下语句,wq保存并退出
export PATH="$PATH:/home/dzfly/biosoft/samtools-1.12/"
# 更新环境变量
source ~/.bashrc

# 上方使用samtools查看bam文件可改为
samtools view tmp.rmdup.bam

产生bam文件的命令:

/home/jianmingzeng/biosoft/bowtie/bowtie2-2.2.9/bowtie2-align-s --wrapper basic-0 -p 20 -x /home/jianmingzeng/reference/index/bowtie/hg38 -S /home/jianmingzeng/data/public/allMouse/alignment/WT_rep2_Input.sam -U /tmp/41440.unp

在这里插入图片描述
在这里插入图片描述

13. 根据上面的命令,找到我使用的参考基因组 /home/jianmingzeng/reference/index/bowtie/hg38 具体有多少条染色体。

在tmp.header中的“SN:chr**”对应就是参考基因库的染色体条数

#使用正则表达式进行匹配
# -o 匹配
# -E 使用 | 来分割多个pattern,以此实现OR操作
# 0-9 a-z A-Z 匹配所有的数字、字母
# + 表示查找的内容在目标对象中连续出现一次或多次
# sort uniq 排序并去重
# wc -l 统计行数

grep -o -E "SN:chr[0-9]+|SN:chr[a-zA-Z]+" tmp.header |sort |uniq |wc -l
# 或者
grep -o -E "SN:chr[0-9]{1,2}|SN:chr[a-zA-Z]{1,2}" tmp.header |sort |uniq |wc -l

在这里插入图片描述

14. 上面的后缀为BAM 的文件的第二列,只有0和16两个数字,用 cut/sort/uniq等命令统计它们的个数。

# cut -f 2 只取第二列
# sort -n 按照数值的大小排序
# uniq -c或--count 在每列旁边显示该行重复出现的次数。
# uniq -d或--repeated 仅显示重复出现的行列。
samtools view tmp.rmdup.bam |cut -f 2 |sort -n |uniq -dc

0出现了16次,16出现了12次
在这里插入图片描述

15. 重新打开 rmDuplicate/samtools/paired 文件夹下面的后缀为BAM 的文件,再次查看第二列,并且统计

cd ..
cd paired
samtools view tmp.rmdup.bam |cut -f 2 |sort -n |uniq -dc

在这里插入图片描述

16. 下载 http://www.biotrainee.com/jmzeng/sickle/sickle-results.zip 文件,并且解压,查看里面的文件夹结构

# 下载
get -c http://www.biotrainee.com/jmzeng/sickle/sickle-results.zip
# 解压
unzip sickle-results.zip
# 查看结构
tree sickle-results

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

17. 解压 sickle-results/single_tmp_fastqc.zip 文件,并且进入解压后的文件夹,找到 fastqc_data.txt 文件,并且搜索该文本文件以 >>开头的有多少行?

cd sickle-results/
unzip single_tmp_fastqc.zip
cd single_tmp_fastqc/

# '^':指匹配的字符串在行首 
# '$':指匹配的字符串在行尾
# '\':转义字符
grep ^\>\> fastqc_data.txt | cat -n

在这里插入图片描述
在这里插入图片描述

18. 下载 http://www.biotrainee.com/jmzeng/tmp/hg38.tss 文件,去NCBI找到TP53/BRCA1等自己感兴趣的基因对应的 refseq数据库ID,然后找到它们的hg38.tss 文件的哪一行。

wget -c http://www.biotrainee.com/jmzeng/tmp/hg38.tss

# 去指定网站查找ID
# https://www.ncbi.nlm.nih.gov/gene/7157

# 在文件中查找
grep NM_001126112 hg38.tss -n
grep NM_001126113 hg38.tss -n

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

19. 解析hg38.tss 文件,统计每条染色体的基因个数。

cat hg38.tss |cut -f 2 |grep -o -E "chr[0-9]{1,2}|chr[a-zA-Z]{1,2}" |sort |uniq -dc
#或者
cat hg38.tss |cut -f 2 |grep -o -E "chr[0-9]+|chr[a-zA-Z]+" |sort |uniq -dc

在这里插入图片描述

20. 解析hg38.tss 文件,统计NM和NR开头的序列,了解NM和NR开头的含义。

grep -o -E "NM|NR" hg38.tss |sort |uniq -dc

在这里插入图片描述

NM:mRNA mixed,转录组产物序列;成熟mRNA转录本序列
NR:RNA mixed,非编码的转录子序列,包括结构RNAs,假基因转子等

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

生信学习——Linux必做20题(附详细答案解读) 的相关文章

  • 如何将域名附加到我的服务器? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我有一个小问题 查看了这里和其他论坛 但找不到解决方案 我的网站位于 my domain com 网站位于共享主机上 在我的域名注册中 我添加了当我为
  • 在内核中创建一个简单的只写过程条目

    include
  • 无法通过 SSH 连接到 Google 计算引擎

    我在一个新项目中设置了一个新的 Google Compute Engine 实例 我启动实例并使用命令gcloud init连接到我的项目 然后我使用命令sudo gcloud compute ssh instance 1 它引导我完成 S
  • 如何在Linux中诊断Python进程占用CPU

    我的 python 进程在自动化脚本中的某个时刻开始在基于 Linux 的系统 Ubuntu 上占用 CPU 我正在尝试在 GDB 中调试这个问题 我对 GDB 还很陌生 是否有任何 GDB 命令可以提供有关哪个线程正在使用大部分 cpu
  • 如何在bash中使用kill SIGUSR2?

    我在linux中使用iptraf来监控网络流量 shell命令是 让iptraf在后台运行 iptraf s eth0 f B L traffic dat 如果我想得到结果 我必须先停止 iptraf 所以我使用 shell 命令 kill
  • Pthreads - 高内存使用率

    我正在用 C 编写一些东西 在 256Mb 系统上的 Linux 中创建大量 Pthread 我通常有 200Mb 的免费空间 当我使用少量线程运行该程序时 它可以工作 但是一旦我让它创建大约 100 个线程 它就会出现错误 因为系统内存不
  • 如何在 Vim 中突出显示 Bash 脚本?

    我的 Vim 编辑器自动突出显示 PHP 文件 vim file php HTML 文件 vim file html 等等 但是当我输入 vim file在里面写一个Bash脚本 它不会突出显示它 我如何告诉 Vim 将其突出显示为 Bas
  • 应用程序中两个不同版本的库

    考虑一个场景 其中有两个不同版本的共享库 考虑 A 1 so 链接到 B so A 2 so 链接到 C so 现在 B so 和 C so 都链接到 d exe 当 B so 想要调用 A 1 so 中的函数时 它最终会调用 A 2 so
  • 如何将一个文本文件拆分为多个 *.txt 文件?

    我有一个文本文件file txt 12 MB 包含 something1 something2 something3 something4 有没有办法分开file txt分成 12 个 txt 文件 比方说file2 txt file3 t
  • 在本地主机上使用相同的 IP 和端口创建套接字

    我在 Linux 上看到奇怪的行为 我看到远程端和本地端都显示相同的 IP 和端口组合 以下是 netstat 输出 netstat anp 网络统计grep 6102 tcp 0 0 139 185 44 123 61020 0 0 0
  • 使用 ioctl 在 C++ 中以编程方式添加路由

    我编写了简单的 C 函数 添加了新路线 void addRoute int fd socket PF INET SOCK DGRAM IPPROTO IP struct rtentry route memset route 0 sizeof
  • 在ubuntu中打开spyder

    我想在ubuntu中打开spyder Python IDE 通常我会在 shell 中编写 spyder 它会打开spyder IDE 现在 当我在shell中编写spyder时 它只是换行 什么也没有发生 类似于按 enter 我如何找回
  • 更新Linux中的包含路径

    我的 my path to file 文件夹中有几个头文件 我知道如何将这些文件包含在新的 C 程序中 但每次我都需要在包含它之前输入头文件的完整路径 我可以在linux中设置一些路径变量 以便它自动查找头文件吗 您可以创建一个 makef
  • bash while 循环的布尔表达式中的 -lt 意味着什么?

    我猜测它代表小于基于输出 但是我在哪里可以找到有关此语法的文档 bin bash COUNTER 0 while COUNTER lt 10 do echo The counter is COUNTER let COUNTER COUNTE
  • Ruby:在 Ubuntu 上安装 rmagick

    我正在尝试在 Ubuntu 10 04 上安装 RMagick 看起来here https stackoverflow com questions 1482823 is there an easy way to install rmagic
  • 链接错误:命令行中缺少 DSO

    我对 Linux 使用 Ubuntu 14 04 LTS 64 位 相当陌生 来自 Windows 并且正在尝试移植我现有的 CUDA 项目 当通过链接时 usr local cuda bin nvcc arch compute 30 co
  • “git add”返回“致命:外部存储库”错误

    我刚刚进入 git 的奇妙世界 我必须提交我对程序所做的一系列更改 位于名为的目录中 var www myapp 我创建了一个新目录 home mylogin gitclone 从这个目录中 我做了一个git clone针对公共回购 我能够
  • /sys/device/ 和 dmidecode 报告的不同 CPU 缓存大小

    我正在尝试获取系统中不同缓存级别的大小 我尝试了两种技术 a 使用 sys device 中的信息 这是输出 cat sys devices system cpu cpu0 cache index1 size 32K cat sys dev
  • Linux 使用 boost asio 拒绝套接字绑定权限

    我在绑定套接字时遇到问题 并且以用户身份运行程序时权限被拒绝 这行代码会产生错误 acceptor new boost asio ip tcp acceptor io boost asio ip tcp endpoint boost asi
  • 如何在 Linux 上通过 FTP 递归下载文件夹 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案

随机推荐

  • 冲刺春招-精选笔面试 66 题大通关 day6

    day6题目 33 搜索旋转排序数组 54 螺旋矩阵 bytedance 006 夏季特惠 学习计划链接 冲刺春招 精选笔面试 66 题大通关 今日知识点 二分 模拟 01背包 难度为中等 中等 字节 简单 33 搜索旋转排序数组 整数数组
  • ARouter(二)源码解析

    前言 这一篇我们来具体看一下ARouter的实现原理 如果你之前没有接触过ARouter 可以先阅读上一篇 Android 从零开始打造自己的深度链接库 一 ARouter简介 废话不多 我们赶紧分析源码 正文 首先我们从github下载最
  • 中文信息处理实验8——基于逻辑斯蒂回归模型的文本分类

    目录 实验目的 实验要求 实验内容及原理 参考代码 实验结果 实验目的 加深对汉语文本信息处理基础理论及方法的认识和了解 锻炼和提高分析问题 解决问题的能力 通过对具体项目的任务分析 数据准备 算法设计和编码实现以及测试评价几个环节的练习
  • win10系统C盘出现感叹号及加密图标解除

    近期遇到Win10系统C盘图标加密情况 经过搜索查找最终解决 并对操作进行简单记录 1 以管理员身份打开命令行窗口 2 输入 manage bde off c 3 相关指令 加密指令 manage bde on c 查看状态指令 manag
  • 使用定时框架Quartz.net时,发布到服务器后无法正常执行定时任务

    问题描述 使用Quartz net每天定时执行某个任务时 未能正常执行 每次在本地测试时 设置了短的时间间隔 都能正常执行任务 但是挂到服务器后 设置定时执行时间为几个小时 却不能正常执行我们要执行的操作 原 因 IIS的程序池有一个闲置超
  • _Linux网络数据包的揭秘以及常见的调优方式总结

    作为业务 SRE 我们所运维的业务 常常以 Linux TCP UDP daemon 的形式对外提供服务 SRE 需要对服务器数据包的接收和发送路径有全面的了解 以方便在服务异常时能快速定位问题 以 tcp 协议为例 本文将对 Linux
  • 自己封装一个类express路由框架

    今天用了Node封装一个简单的类似express框架的路由 首先先看看 没封装 之前的server路由代码 const http require http const url require url const ejs require ej
  • Java变量与常量书写方式与规范

    变量 变量是什么 变量是可以变化的量 Java是一种强类型语言 每个变量都必须声明其类型 Java变量是程序中最基本的存储单元 其要素包括变量名 变量类型和作用域 type varName value varName value 数据类型
  • 链表指定区间反转

    题目 反转从位置 m 到 n 的链表 请使用一趟扫描完成反转 说明 1 m n 链表长度 输入 1 gt 2 gt 3 gt 4 gt 5 gt NULL m 2 n 4 输出 1 gt 4 gt 3 gt 2 gt 5 gt NULL 头
  • java公钥签名,ping++ java验签(签名,公钥,charge)怎么获取

    packageexample importjava io FileInputStream importjava security InvalidKeyException importjava security KeyFactory impo
  • Halcon模板匹配

    Halcon模板匹配 Halcon模板匹配的方法 模板匹配的流程 基于形状的模板匹配的思路 原理 Halcon模板匹配的方法 模板匹配的流程 基于形状的模板匹配的思路 读取图像 转灰度图 dev close window dev open
  • vue项目打包部署到linux tomcat服务器,解决一刷新就报错404问题

    1 部署到服务器前 更改webpack配置 修改index js中以下配置 2 运行npm run build 或者cnpm run build命令 打包完成后 在项目的根目录dist文件下生成了如下文件 3 tomcat的webapps创
  • 问题解决——使用串口调试助手发送控制字符 协议指令 <ESC>!?

    问题解决 使用串口调试助手发送控制字符 协议指令 参考文章 1 问题解决 使用串口调试助手发送控制字符 协议指令 2 https www cnblogs com wlsandwho p 4202094 html 备忘一下
  • 丁鹏:多角度回顾因果推断的模型方法

    来源 集智俱乐部 本文约23000字 建议阅读20 分钟 本文整理自丁鹏老师的8篇短文 从多角度回顾了因果推断的各种模型方法 导读 推断因果关系 是人类思想史与科学史上的重要主题 现代因果推断的研究 始于约尔 辛普森悖论 经由鲁宾因果模型
  • 云服务器是什么? 云服务器有哪些选择?

    欢迎前往我的个人博客云服务器查看更多关于云服务器和建站等相关文章 随着互联网技术的发展和云计算技术的应用 越来越多的企业倾向于使用云服务器来满足其不断增长的计算需求 云服务器是一种基于云计算技术的虚拟服务器 它能够为企业提供高性能 可靠 灵
  • 【算法竞赛】Python快速入门指南

    该指南由GPT4编写 用于快速入门蓝桥杯Python组 当然 仅限入门而已 本指南由GPT 4生成 我只是负责引导 并对内容进行整理和补充 一直以来我都是使用C 作为算法竞赛语言 但是奈何C 组太卷 自己又太菜 于是另谋他路 Prompt模
  • 【AD20】快速且只选中部分自己想要的同类型的元件

    在project属性框里面 可以选择所有如下图所示内容 这个是一个过滤器 里面有多种小选项 比如 Components 元件 Pads 焊盘 Texts 文本 选择哪个就只能选择对应的部分 比如 只选择文本 在画图区域 框选 发现只有文本才
  • 数位拆分

    4 数位拆分v1 0 现有一个4位数的正整数n 4321 即n是一个已知的数 固定为4321 编写程序将其拆分为两个2位数的正整数43和21 计算并输出拆分后的两个数的加 减 乘 除和求余的结果 例如n 4321 设拆分后的两个整数为a b
  • 【目标检测】OneNet: Towards End-to-End One-Stage Object Detection

    label assignment是指 在训练过程中如何将某个prediction指定给某个GT 用于计算损失 训练网络 对于上一篇文章 他们首先用one to one label assignment替换了one to many label
  • 生信学习——Linux必做20题(附详细答案解读)

    题目列表 1 在任意文件夹下面创建形如 1 2 3 4 5 6 7 8 9 格式的文件夹系列 2 在创建好的文件夹 home qiime2 Desktop test 1 2 3 4 5 6 7 8 9 下创建文本文件 me txt 3 在文