需求:

只获取 ath 物种的 hairpin 序列

文件格式如下所示,以>打头的为 header,紧跟的为序列[AUCG]+ (Perl5 regexp 格式

#!/usr/bin/env perl6
my Bool $now = False ;
# 词法变量还是用 my 声明
# 此外,perl5中的 local 在6 中是没有的
# our, state
# temp let 可以作用于声明好的变量上
my Str $seq; for @*ARGS[0].IO.lines -> $l {
# Perl5中的 @ARGV 在 perl6 中使用 动态变量@*ARGS 来代替, # $now = False ;
if $l ~~ /^\>/ {
#Perl6 正则中除了 a-z A-Z 和下划线不用转义,其他的都需要转义。
if $l ~~ /^ \> ath / {
#perl6 正则中的空白可以随便加,不作为匹配部分,你可以副词:s (:sigspace)来关闭
say $seq.flip.trans('A' => 'T','U' => 'A','C' => 'G','G' => 'C') if $seq.Bool;
# 把 pri-RNA 转成 cDNA
# 先反转整个序列,再 AUCG -> TAGC
$seq = '';
$now = True ;
say $l ;
next
}else{
$now = False
}
}
if $now and $l ~~ /^ <[AUCG]> + $/ {
say $l
}
}
  1. Perl6的正则表达式和 perl5 不是一会事儿了

文件 hairpin.fa

>ame-mir-9865 MI0031791 Apis mellifera miR-9865 stem-loop
AAGAUGGAAUUGAUUUAUGUGGUGAUUGUGCAGUAGCACAAUUAGAAGCUGAAAAACCAC
UGCACGAUACAUUACAUAGAUUACUUCCUAUUAA
>ame-mir-9866 MI0031792 Apis mellifera miR-9866 stem-loop
GAUGAGAGGAUUCGAGUCGGCGGGGUAUGAGUAAUACGUUCAGGCAUGUACCUCGUAUCC
CCUUGGCUCGCAAUGCCCUCUCCCU
>ame-mir-9867 MI0031793 Apis mellifera miR-9867 stem-loop
UCCUGAGGCAAGACGGUAUGGACGGUAGAGACGAGUCAUGAUCCUCGUCCUGCCGCGUCA
CCGUUAUCCUCAUCC
>ame-mir-9868 MI0031794 Apis mellifera miR-9868 stem-loop
UCGGCGAUAAAAGCUCGGCGUUUCAUCGAUGCCUGGCCUGCUCUUUCCCCGUGGUUAAGC
UCGAUGAAGUCGUCGGGUUUAGCCGG
...
>ath-MIR8167d MI0031739 Arabidopsis thaliana miR8167d stem-loop
CAUCUUUGAGAUUUUACACAGUAGUCAUGGAGUUUUUGGAAGAGAGAAAGUGGAGAUGUG
GAGAUCGUGGGGAUG
>ath-MIR8167e MI0031740 Arabidopsis thaliana miR8167e stem-loop
CAUCUUUGAGAUUUUACACAGUAGUCAUGGAGUUUUUGGAAGAGAGAAAGUGGAGAUGUG
GAGAUCGUGGGGAUG
>ath-MIR8167f MI0031741 Arabidopsis thaliana miR8167f stem-loop
CAUCUUUGAGAUUUUACACAGUAGUCAUGGAGUUUUUGGAAGAGAGAAAGUGGAGAUGUG
GAGAUCGUGGGGAUG
.....

学习Perl6: slice fastq file的更多相关文章

  1. Java基础学习笔记十九 File

    IO概述 回想之前写过的程序,数据都是在内存中,一旦程序运行结束,这些数据都没有了,等下次再想使用这些数据,可是已经没有了.那怎么办呢?能不能把运算完的数据都保存下来,下次程序启动的时候,再把这些数据 ...

  2. Android(java)学习笔记87:File类使用

    package cn.itcast_01; import java.io.File; /* * 我们要想实现IO的操作,就必须知道硬盘上文件的表现形式. * 而Java就提供了一个类File供我们使用 ...

  3. Java学习之IO之File类二

    之前学了File便想把我学习视频的名字改了,因为文件名太长不好看,便试着写了个功能实现 package com.gh.file; import java.io.File; /** * 批量文件命名 * ...

  4. Python学习笔记015——文件file的常规操作(二进制文件)

    有时候诸如图片.音乐等信息不是以文本的形式存储的,而是二进制文件格式存储的. 有时候很多信息不是以文本文件的形式存储的 很多时候,都需要用到二进制读取文件.毕竟很多信息不是以文本的形式存储.例如:图片 ...

  5. Python学习笔记015——文件file的常规操作之一(文本文件)

    1 什么是文件 文件是用于数据存储的单位 文件通常用来长期保存数据 读写文件是最常见的I/O操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件的功能都是由操作系统提供的,一般而言,操 ...

  6. Android(java)学习笔记26:File类的使用

    1. File类的使用  package cn.itcast_01; import java.io.File; /* * 我们要想实现IO的操作,就必须知道硬盘上文件的表现形式. * 而Java就提供 ...

  7. Java I/O系统学习系列一:File和RandomAccessFile

    I/O系统即输入/输出系统,对于一门程序语言来说,创建一个好的输入/输出系统并非易事.因为不仅存在各种I/O源端和想要与之通信的接收端(文件.控制台.网络链接等),而且还需要支持多种不同方式的通信(顺 ...

  8. 第31天学习打卡(File类。字符流读写文件)

    File类 概念 文件,文件夹,一个file对象代表磁盘上的某个文件或者文件夹 构造方法  File(String pathname) File(String parent,String child) ...

  9. JAVA基础学习day21--IO流三-File、Properties、PrintWriter与合并、分割流

    一.File 1.1.File概述 文件和目录路径名的抽象表示形式. 用户界面和操作系统使用与系统相关的路径名字符串 来命名文件和目录.此类呈现分层路径名的一个抽象的.与系统无关的视图.抽象路径名 有 ...

随机推荐

  1. MOGRE学习笔记(1) - OGRE简介及在vs2010下配置

    由于工作需要,花费了一段时间研究OGRE,但是研究的目的是要在vs2010平台下用c#进行MOGRE的开发,不得已才转到MGRE,步骤是首选熟悉MOGRE的一些基础知识,做到在winform下能用MO ...

  2. 在C#中使用json字符串

    http://jingyan.baidu.com/article/6fb756ecd2b051241858fbef.html

  3. [转载]如何破解Excel VBA密码

    原文链接:http://yhf8377.blog.163.com/blog/static/1768601772012102111032840/ 在此之前,先强调一下,这个方法只是用来破解Excel内部 ...

  4. 消息队列Rabbitmq

    1. 启动 rabbitmq-server & 2. 队列重置(清空队列.用户等) rabbitmqctl stop_apprabbitmqctl resetrabbitmqctl stop ...

  5. 修改了系统自带头文件后,Xcode会报错

    1.Xcode自带头文件的路径 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Develo ...

  6. category分类

    /* 使用继承关系来扩充一个类,有一个弊病,高耦合性 category(分类,类别) 能够帮我们扩充一个类的功能 */ - (void)superJump { //    [self eat]; [s ...

  7. Java Thread线程控制

    一.线程和进程 进程是处于运行中的程序,具有一定的独立能力,进程是系统进行资源分配和调度的一个独立单位. 进程特征: A.独立性:进程是系统中独立存在的实体,可以拥有自己独立的资源,每个进程都拥有自己 ...

  8. Swift语言实战晋级-第9章 游戏实战-跑酷熊猫-5-6 踩踏平台是怎么炼成的

    在游戏中,有很多分来飞去的平台,这个平台长短不一.如果每种长度都去创建一张图片那是比较繁琐的事情.实际上,我们只用到3张图.分别是平台的,平台的中间部分,平台的右边.关键是平台的中间部分,两张中间部分 ...

  9. PostgreSQL中字符串相关问题

    PostgreSQL的字符串类型有character.character varying和text的值.在使用character类型的时候, 它有自动填充空白的潜在影响,特别是在其它数据库(MySQL ...

  10. zepto和jquery的区别,zepto的不同使用8条小结 会JS就会zepto

    1. Zepto 对象 不能自定义事件 例如执行: $({}).bind('cust', function(){}); 结果:  TypeError: Object has no method 'ad ...