方法1.RNA-seq得到不同表达程度基因

方法2. 直接download U2OS_gene.csv https://cancer.sanger.ac.uk/cell_lines/download

最开始excel直接选用25%最高和25%最低,U2OS细胞共~16000基因,故复制前4000行的gene symbol并存为txt;

table browser下载'group:Genes and gene prediction; track:UCSC genes; outpu format:selected fileds from primary and related tables' then getoutput,如下图选择

问题出现在grep -wFf 25%_most_highly_expressed_gene_name.txt hg19_geneid_genesymbol.txt > 25%_most_highly_expressed_geneid.txt总是没有输出

trouble shooting首先检查代码,自定义两个文件1.txt 2.txt然后 grep -wFf 1.txt 2.txt成功;

然后检查输入文件hg19_geneid_genesymbol.txt,自定义基因文件(随便选几个U2OS/non-U2OS基因 vi gene.txt),grep -wFf gene.txt hg19_geneid_genesymbol.txt成功;

最后发现问题出在25%_most_highly_expressed_gene_name.txt,最开始得到这个文件是直接从csv中copy and paste,但csv是 comma delimited,所以复制事实上连,一起复制了

#$ head U2OS_genes.csv

#$ head 25%_most_highly_expressed_gene_name.txt

事实上在做grep的时候是“ ,MED6, ”,因此无法匹配 hg19_geneid_genesymbol.txt,这也是为什么grep 'MED6'  hg19_geneid_genesymbol.txt 可以work的原因

正确做法

#0.6是第4000个基因的zscore

awk -F',' '$5 > 0.6 {print $3}' U2OS_genes.csv >  25%_most_highly_expressed_gene_name.txt

0.6有点过低,做zscore散点图可发现用2更为合理

awk -F',' '$5 > 2 {print $3}' U2OS_genes.csv >  highest_expressed_gene_name.txt

更为准确的方法是用R quantile得到合适Z score筛选得到most_expressed 和 least_expressed

grep -wFf highest_expressed_genesym.txt gene_hg19.bed > highest_expressed_gene.bed

PS:head gene_hg19.bed

一个基因有不同的cds

https://www.jianshu.com/p/cc5cd7053d6e

寻找U2OS中表达的基因及其promoter并用于后续annotation的更多相关文章

  1. 逆向知识第八讲,if语句在汇编中表达的方式

    逆向知识第八讲,if语句在汇编中表达的方式 一丶if else的最简单情况还原(无分支情况) 高级代码: #include "stdafx.h" int main(int argc ...

  2. 寻找数组中的第K大的元素,多种解法以及分析

    遇到了一个很简单而有意思的问题,可以看出不同的算法策略对这个问题求解的优化过程.问题:寻找数组中的第K大的元素. 最简单的想法是直接进行排序,算法复杂度是O(N*logN).这么做很明显比较低效率,因 ...

  3. 利用Manacher算法寻找字符串中的最长回文序列(palindrome)

    寻找字符串中的最长回文序列和所有回文序列(正向和反向一样的序列,如aba,abba等)算是挺早以前提出的算法问题了,最近再刷Leetcode算法题的时候遇到了一个(题目),所以就顺便写下. 如果用正反 ...

  4. 实现一个算法,寻找字符串中出现次数最少的、并且首次出现位置最前的字符 如"cbaacfdeaebb",符合要求的是"f",因为他只出现了一次(次数最少)。并且比其他只出现一次的字符(如"d")首次出现的位置最靠前。

    实现一个算法,寻找字符串中出现次数最少的.并且首次出现位置最前的字符如"cbaacfdeaebb",符合要求的是"f",因为他只出现了一次(次数最少).并且比其 ...

  5. [经典算法题]寻找数组中第K大的数的方法总结

    [经典算法题]寻找数组中第K大的数的方法总结 责任编辑:admin 日期:2012-11-26   字体:[大 中 小] 打印复制链接我要评论   今天看算法分析是,看到一个这样的问题,就是在一堆数据 ...

  6. 寻找数组中第K大数

    1.寻找数组中的第二大数 using System; using System.Collections.Generic; using System.Linq; using System.Text; u ...

  7. C语言中表达n次方

    C语言中表达n次方可以用pow函数. 函数原型:double pow(double x, double y) 功    能:计算x^y的值 返 回 值:计算结果 举例: double a; a = p ...

  8. Java实现 蓝桥杯 算法训练 寻找数组中最大值

    算法训练 寻找数组中最大值 时间限制:1.0s 内存限制:512.0MB 提交此题 问题描述 对于给定整数数组a[],寻找其中最大值,并返回下标. 输入格式 整数数组a[],数组元素个数小于1等于10 ...

  9. WPF:指定的命名连接在配置中找不到、非计划用于 EntityClient 提供程序或者无效的解决方法

    文/嶽永鹏 WPF 数据绑定中绑定到ENTITY,如果把数据文件做成一个类库,在UI文件中去应用它,可能遇到下面这种情况. 指定的命名连接在配置中找不到.非计划用于 EntityClient 提供程序 ...

随机推荐

  1. XVII Open Cup named after E.V. Pankratiev. GP of Moscow Workshops

    A. Centroid Tree 枚举至多两个重心作为根,检查对于每个点是否都满足$2size[x]\leq size[father[x]]$即可. #include<stdio.h> # ...

  2. 20172310 蓝墨云ASL测试 2018-1938872

    20172310 蓝墨云ASL测试 2018-1938872 题目: 已知线性表具有元素{5,13,19,21,37,56,64,75,80,88,92},如果使用折半查找法,ASL是多少? 解答:( ...

  3. Assembly.LoadFrom加载程序集无法释放资源的解决方案

    下面此方法加载程序集会导致程序集一直被占用 Assembly asm = Assembly.LoadFrom(dllPath); 解决方案: //通过此方法读取可以解决dll被占用问题 byte[] ...

  4. 数据结构-堆 Java实现

    数据结构-堆 Java实现. 实现堆自动增长 /** * 数据结构-堆. 自动增长 * */ public class Heap<T extends Comparable> { priva ...

  5. less 基础+ flex

    1.less 中的变量 @ 符号 引入 /*普通变量*/ @color:pinker; .styles{ color:@color; } /*选择器变量*/ @I:img; @{I}{ width: ...

  6. 触发器中的after与before理解

    做一个表的insert的trigger,目的是只修改插入行的字段. CREATE OR REPLACE TRIGGER TR_RME_SLOT BEFORE INSERT ON RME_SLOT FO ...

  7. Vue.js最简单的代码

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  8. linux CentOS YUM 安装 nginx+tomcat+java+mysql运行环境

    Java环境配置 1 安装JDK 查看CentOS自带JDK是否已安装 1 [root@test ~]# yum list installed |grep java 若有自带安装的JDK,应如下操作进 ...

  9. 在Fastreport里使用的CRC函数

    如标题, 是在Fastreport的脚本里运行的CRC计算函数, 包括CRC-16/CRC-32 基本是从网上找的代码, 然后改出来的 至于为什么要在FR的脚本里运行....呵呵 不要在意这些细节(找 ...

  10. python基础5 while循环

    一.while循环: while  条件: 代码块 例: n=0 while n<10: print(n) n=n+1   #n自加1 ,满足n<10,继续循环 输出结果: 1 2 3 4 ...