随笔分类 - Perl编程
摘要:需求 客户反映,完整的基因组太大打不开,要我将之按各条染色体和scaffold拆分。如何快速实现? 方法一 借助工具: $ pip install pyfaidx $ faidx -x sequences.fa 方法二 自己写脚本:split.pl #!/usr/bin/perl $f = $ARG
阅读全文
摘要:生信软件绕不过Perl,Perl绕不过Bioperl。而Bioperl的安装总让人头大,尤其是对普通用户。以下错误你肯定经常遇到: Can't locate Bio/Seq.pm in @INC (you may need to install the Bio::Seq module) (@INC
阅读全文
摘要:编写流程时,有一个好的习惯是将流程需要调用的软件、数据库等信息与脚本进行分离,这样可以统一管理流程的软件和数据库等信息,当它们路径改变或者升级的时候管理起来就很方便,而不需要去脚本中一个个寻找再修改。 在shell编程中,我们可以通过source config.txt来获取配置文件config.tx
阅读全文
摘要:已知KEGG数据库中ko_map.tab文件,K——>ko: 目标文件:map——>K 代码示例: #! /usr/bin/perl -w use strict; my %seq; open IN, "ko_map.tab" or die $!; while(<IN>){ chomp; my ($k
阅读全文
摘要:这个需求是在生信分析中几乎天天用到,各种语言都能实现,也都各有特点。这次以 为例。 已知 文件 为全部蛋白表达矩阵及其差异分析结果。 文件 为蛋白KEGG注释结果。 文件 为蛋白鉴定数据库(有的序列以多行展示)。 需求 将以上三表整合为一个表,输出需要的信息。 实现 编写的特点是 ,条条大道通罗马,
阅读全文
摘要:啰嗦几句 Perl的时代已经过去,现在年轻的同事们基本上都在用Python了。但个人认为单就生物信息文本处理而言,Perl语言是绝对够用的。最主要的是,前辈们搭建的流程大多数是Perl写的,因此,如果从事流程维护和升级的工作,掌握Perl是必不可少的。即使领导也提出过全面改用Python,这么多流程
阅读全文
摘要:第十四章 字符串与排序 index查找子字符串 substr操作子字符串 sprintf格式化字符串 不同于printf的是它能赋值给变量 排序 第十五章 智能匹配与given when结构 智能匹配操作符~~ 会根据两边操作数的数据类型自动判断何种方式进行比较和匹配,一般与前后顺序无关,特殊情况外
阅读全文
摘要:第十章 其他控制结构 结构 结构 的相反,条件为假时重复执行。 表达式简化 裸块 去掉条件表达式的代码块,并非循环,仅执行一次。 子句 当条件太多时,会用 /`given when`等结构 自增自减 for结构 三目操作符(条件操作符)?: 使用简易模块 1. File::Basename模块 从文
阅读全文
摘要:第6章 哈希 简介 键值对。键和值都是任意标量,但键总是会被转换成字符串。 键唯一,值可重复。 应用场景:一组数据对应到另一组数据时。 如找出重复/唯一/交叉引用/查表等 访问哈希元素 访问整个哈希 哈希赋值 哈希函数 keys函数返回键列表 values函数返回值列表 each函数迭代哈希,返回键
阅读全文
摘要:第一章 简介 文字处理,编写小型CGI脚本(Web服务器调用程序)的最佳语言 : Perl综合典藏网 : 或` ! /usr/local/bin/perl` 第二章 标量 数字 运算符 单引号和双引号 字符串操作符 Perl内置警告 双目赋值操作符 标量内插 比较操作符 if控制结构 获取用户输入
阅读全文