24小时热门版块排行榜    

查看: 932  |  回复: 4

shuifeng1988

金虫 (小有名气)

木虫

[求助] ubuntu10.10 中脚本求助

我在桌面上有一个in文件夹和一个out文件夹,in文件夹中有十个不同的文件,如a.fas, b.fas, c.fas ......., 每个文件内容如下所示(每个文件有多条序列,每条序列名都在>号后面,序列名要保留和原来一样)!我想将每条序列的最后面20个碱基除去,然后用相同的文件名字保存在out文件夹中,我应该如何写脚本!


>Myotis ricketti
ATGGATCATGCTGAAGAAACTGAAATCCTTGCAGCGGCCCAGAAGTACTATGTGGACAGG
CCTATCTTCAGTCACCTGGCCCTCCAGGAAATACTGCACACGAAGGACAAGATTCCGGAT
TCCATTGGGGATAAGCTAAAACAGGCATTCACATGTACTCCGAAGAAAATAAGAAATATC
ATTTATATGTTCTTACCCATAACTAAGTGGTTGCCAGCATACAAATTCAAGGAGTATGTG
TTGGGTGACTTGGTCTCAGGCATTAGCACAGGGGTGCTTCAGCTTCCTCAAGGCTTAGCC
TTCGCAATGTTGGCAGCTGTGCCTCCGGTGTTCGGCCTGTACTCTTCGTTTTACCCTGTT
ATCATGTATTGTTTTTTTGGAACCTCCAGACACATATCCATAGGTCCGTTTGCTGTAATT
AGCCTGATG
>Rhinopoma hardwickii
ATGGATCATGCTGAAGAAAATGAAATCCTTGCAGCAACCCAGAGGTACTATGTGGAAAGG
CCTATCTTTAGTCATCCCATCCTCCAGGAAAGACTGCACCAGAAGGACAAGATTTCGGAT
TCCATTGGGGATAAGCTGAAACAGGCATTCACATGTACTCCTAAGAAAATAAGAAATATC
ATTTATATGTTCTTACCCATAACTGAGTGGCTGCCAGCATACAAATTCAAGGAGTATGTG
TTGGGTGACTTGGTCTCAGGCATAAGCACAGGGGTGCTTCAGCTTCCTCAAGGTTTAGCC
TTTGCAATGTTGGCAGCTGTGCCTCCGGTGTTTGGCCTGTACTCTTCGTTTTACCCTGTT
ATCATGTATTGCTTTTTTGGAACCTCCAAACACATATCCATAGGTCCATTTGCTGTTATT
AGCCTGATG
>Murina leucogaster
ATGGATCATGCTGAAGAAACTGAAATCCTTGCAGCGGCCCAGAAGTACTATGTGGACAGG
CCTATCTTTAGTCACCTGGCCCTCCAGGAAATACTGCACACGAAGGACAAGATTCCGGAT
TCCATTGGGGATAAGCTAAAACAGGCGTTCACATGTACTCCTAAGAAAATAAGAAATATC
ATTTATATGTTCTTACCCATAACTGAGTGGTTGCCAGCATACAAATTCAAGGAGTATGTG
TTGGGTGACTTGGTCTCAGGCATTAGCACAGGGGTGCTTCAGCTTCCTCAAGGCTTAGCC
TTCGCAATGCTGGCAGCTGTGCCTCCGGTGTTCGGCCTGTACTCCTCGTTTTACCCTGTT
ATCATGTATTGTTTTTTTGGAACCTCCAAACACATATCCATAGGTCCGTTTGCTGTAATT
AGCCTGATG
>Megaderma lyra
ATGGATCATGCTGAAGAAACTGAAATCCTTGCAGCAACCCAGAAGTACTATGTGGAAAGG
CCTATCTTTAGTCATTCAGTCCTCCAGGAAAGACTGCACAAGAAGGACAAGATTTCAGAG
TCCATTGGGGATAAGCTGAAACAGGCATTCACATGTACTCCTAAGAAAATAAGAAATATC
ATTTATATGTTCCTACCCATAACTAAGTGGTTGCCAGCATACAATTTCAAGGAATATGTG
TTGGGTGACTTGGTCTCAGGCATAAGCACAGGAGTGCTTCAGCTTCCTCAAGGTTTAGCC
TTTGCAATGTTGGCAGCTGTGCCACCAGTGTTTGGCCTGTACTCTTCGTTTTACCCTGTT
ATCATGTATTGCTTTTTTGGAACCTCCAGACATATATCCATAGGTCCATTTGCTGTTATT
AGCCTGATG
回复此楼
平生两愿:抱着美人,浪迹天涯!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

594wolfo

至尊木虫 (正式写手)

用perl吧
>Myotis ricketti 后面跟着的 跟它是一行么?
如果是一行 20个碱基=n个字符?
#!/user/bin/perl
use warnings;
use strict;
use Cwd;
my $dir= getcwd; #current directory
open IN, "<$dir\/in\/a.fas";
open OUT, ">>$dir\/out\/a.fas";
for my $line ( {
  chomp($line);
  $line=~ s/[A-Z]{n}$//;  ##n是行尾的目标字符数
  print OUT "$line\n";
}
copy下来 另存为 test.pl 放在跟in out文件夹一个路径上
多个文件的话 glob *.fas下 加个 循环 就行了

本地没安装perl 没法测试了 找本书看看 一天时间就Ok了
2楼2011-04-26 02:35:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

594wolfo

至尊木虫 (正式写手)

★ ★
微尘、梦想(金币+2): 谢谢参与应助! 2011-04-26 17:39:30
上个回复中有些字符 被解析成 表情了 麻烦斑竹删除 谢谢
试试这个
用perl吧
>Myotis ricketti 后面跟着的 跟它是一行么?
如果是一行 20个碱基=n个字符?
CODE:
#!/user/bin/perl
use warnings;
use strict;
use Cwd;
my $dir= getcwd; #current directory
open IN, "<$dir\/in\/a.fas";
open OUT, ">>$dir\/out\/a.fas";
  for my $line () {
  chomp($line);
  $line=~ s/[A-Z]{n}$//; ##n是行尾的目标字符数
  print OUT "$line\n";
}
close IN;
close OUT;

copy下来 另存为 test.pl 放在跟in out文件夹一个路径上
多个文件的话 glob *.fas下 加个 循环 就行了

本地没安装perl 没法测试了 找本书看看 一天时间就Ok了
3楼2011-04-26 02:40:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

huycwork

金虫 (著名写手)

【答案】应助回帖

★ ★
微尘、梦想(金币+2): 谢谢参与应助! 2011-04-26 17:39:51
俺给你来一个,经过测试的,假定abs文件的每个记录只有两行,多行的没测试过,不过应该也没得问题,因为.不匹配换行。
假定工作目录是in:
CODE:
#!/usr/bin/perl
use strict;
my @files = glob("*.abs");
foreach my $file (@files){
    open IN, "<", $file;
    open OUT, ">", "../out/$file";
    while(){
        if(/^>/){
            print OUT $_;
            next;
        }
        my($data) = /(.*)[ATCG]{20}$/;
        print OUT $data;
    }
    close IN;
    close OUT;
}

漩涡的中心有一块空地,空空的。
4楼2011-04-26 10:28:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

huycwork

金虫 (著名写手)

【答案】应助回帖

shuifeng1988(金币+10): 谢谢啊,基 本上好了,但还有个问题,就是序列要求在一行上,而我的序列是多行的,用你的方法,我得先将我的每条序列排在一行上 2011-04-27 01:16:36
上面的程序少了一个换行,补上,print OUT "$data\n";
漩涡的中心有一块空地,空空的。
5楼2011-04-26 10:31:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 shuifeng1988 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 本人考085602 化学工程 专硕 +7 不知道叫什么! 2026-03-15 8/400 2026-03-15 20:11 by 棒棒球手
[考研] 0703化学调剂,求各位老师收留 +7 秋有木北 2026-03-14 7/350 2026-03-15 17:30 by 小物理化学
[考研] 294求调剂 +3 Zys010410@ 2026-03-13 4/200 2026-03-15 10:59 by zhq0425
[基金申请] 面上和青基一样限30页不合理 +5 wowsunflower 2026-03-10 7/350 2026-03-14 17:21 by kingkocxr
[考研] 255求调剂 +3 李嘉慧, 2026-03-12 4/200 2026-03-14 16:58 by 有只狸奴
[考研] 332分材料工程调剂 +3 莓好时光海苔 2026-03-09 3/150 2026-03-14 02:03 by JourneyLucky
[考研] 一志愿天津大学,英一数二305分求调剂,四六级已过 +8 小小番的茄 2026-03-09 8/400 2026-03-14 01:53 by JourneyLucky
[考研] 求调剂! +4 朔朔话 2026-03-09 4/200 2026-03-14 01:38 by JourneyLucky
[基金申请] 有必要更换申报口吗 20+3 fannyamoy 2026-03-11 3/150 2026-03-14 00:52 by zhanghaozhu
[考研] 一志愿华中农业大学071010,总分三百二,求调剂 +3 困困困困坤坤 2026-03-10 3/150 2026-03-14 00:35 by JourneyLucky
[考研] 321求调剂 +3 CUcat 2026-03-10 3/150 2026-03-14 00:25 by JourneyLucky
[考研] 26考研调剂 +3 ying123. 2026-03-10 3/150 2026-03-14 00:18 by JourneyLucky
[考研] 327求调剂 +4 Ffff03 2026-03-10 4/200 2026-03-14 00:17 by JourneyLucky
[考研] 311求调剂 +8 zchqwer 2026-03-10 8/400 2026-03-14 00:01 by JourneyLucky
[考研] 341求调剂 +4 番茄头--- 2026-03-10 4/200 2026-03-13 23:12 by JourneyLucky
[考研] 泣血叩求调剂恩,愿以丹心报师恩 +6 Iuruoh 2026-03-11 6/300 2026-03-13 22:06 by JourneyLucky
[考研] 0703化学一志愿211 总分320求调剂 +5 玛卡巴卡啊哈 2026-03-11 5/250 2026-03-13 21:40 by JourneyLucky
[考研] 材料专硕350 求调剂 +4 王金科 2026-03-12 4/200 2026-03-13 16:02 by ruiyingmiao
[考研] 工科材料085601 279求调剂 +8 困于星晨 2026-03-12 10/500 2026-03-13 15:42 by ms629
[考研] 化工0817调剂 +8 灿若星晨 2026-03-10 8/400 2026-03-10 22:44 by 星空星月
信息提示
请填处理意见