fasta 파일에서 식별자 줄 이름을 임의의 단축 이름으로 변경

사용자 3767953

약 8,000 개의 시퀀스가있는 fasta 파일이 있습니다. 식별자 줄 이름을 임의의 고유 한 축약 이름 (최대 길이 10)으로 변경해야합니다. fasta 파일에는 이와 같은 시퀀스가 ​​포함되어 있습니다.

>AX039539.1.1212 Bacteria;Chloroflexi;Dehalococcoidia;Dehalococcoidales;
GAUGAACGCUAGCGGCGUGCCUUAUGCAUGCAAGUCGAACGGUCUUAAGCAAUUAAGAUAGUGGCAAACGGGUGAGUAACGCGUAAGUAACCUACCUCUAAGUGGGGGAUAGCUUCGGGAAACUGAAGGUAAUACCGCAUGUGGUGGGCCGACAUAAGUUGGUUCACUAAAGCCGUAAGGUGCUUGGUGAGGGGCUUGCGUCCGAUUAGCUAGUUGGUGGGGUAACGGCCUACCAAGGCUUCGAUCGGUAGCUGGUCUGAGAGGAUGAUCAGCCACACUGGGACUGAGACACGGCCCAGACUCCUACGGGAG

지금까지 내 스크립트는 다음과 같습니다.

use strict; 
use warnings;

#change ID line name to random unique shorten (max 10 characters) string

open (my $fh,"$ARGV[0]") or die "Failed to open file: $!\n";
open (my $out_fh, ">$ARGV[0]_shorten_ID.fasta");

my $string;

while(<$fh>) {

  for (0..9) { $string .= chr( int(srand(rand(25) + 65) )); }

  if ($_ =~ s/^>*.+\n/>$string/){  # change header FASTA header    

    print $out_fh "$_";

  }
}

close $fh;
close $out_fh;

나는 이것을 시도했지만 10 문자로 시작한 다음 내려 가면서 10을 더 추가하고 시퀀스를 잃습니다. 비슷한 질문이 이미 있다는 것을 알고 있지만 약간 다릅니다. 고유 한 단축 이름을 무작위로 생성해야합니다.

트리플 리

루프 $string내부의 빈 문자열 로 재설정 하여 문제를 간단히 해결할 수 있습니다 while. 그러나 이것은 불필요하게 복잡하고 비효율적입니다 >.로 시작하는 줄을 보지 않을 때 임의의 식별자를 생성하고 버립니다 . 나는 그냥 갈 것이다

perl -pe 'BEGIN { srand(time()); }
    s/>.*/ ">" . join ("", map { chr(rand(25)+65) } 0..9) /e' file.fasta

적절한 의사 난수 식별자가 절대적으로 필요하지 않은 경우

perl -pe 'BEGIN { $id = "a" x 7 } s/>.*/">" . $id++/e' file.fasta

"aaaaaaa", "aaaaaab"등과 같은 식별자를 생성합니다. (나는 7 자 식별자를 사용했지만 4 개의 문자는 8,000 개의 고유 ID : s에 충분합니다. "alvr"로 끝납니다.)

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

.fasta 파일 이름 변경

분류에서Dev

fasta 파일의 식별자 줄에 임의의 문자열을 추가하고 싶습니다.

분류에서Dev

순차 파일의 이름을 행 / 열 형식으로 변경

분류에서Dev

축약 된 월 이름을 한 줄 내의 숫자로 변환

분류에서Dev

CSV 파일의 이름을 자동으로 변경

분류에서Dev

Oneliner에 대한 도움말-임의 파일 생성, 2 자로 된 파일 이름으로 이름 변경, 임의 문자열로 채우기

분류에서Dev

Ubuntu 20.10에서 텍스트 파일의 첫 번째 줄 (내용)을 기반으로 텍스트 파일의 이름을 대량 / 일괄 변경합니까?

분류에서Dev

codeigniter에 업로드 된 파일의 이름을 임의의 문자열로 변경

분류에서Dev

한 형식의 파일 이름을 다른 형식으로 변경

분류에서Dev

여러 개의 압축을 풀고 필요한 경우 동일한 이름으로 자동으로 파일 이름을 바꿉니다.

분류에서Dev

파일 이름의 특정 구성 요소 이름을 소문자에서 대문자로 변경

분류에서Dev

Maven에서 생성 된 축소 된 파일의 이름 변경

분류에서Dev

파이썬에서 임의의 이름으로 여러 개의 파일을 만들고 압축하십시오.

분류에서Dev

폴더의 모든 파일 이름을 숫자 순으로 변경

분류에서Dev

laravel에서 여러 개의 동일한 이름을 하나의 단일 이름으로 변환

분류에서Dev

가변 긴 파일 이름을 앞과 끝의 문자열로 줄입니다.

분류에서Dev

Linux 명령 줄 도구는 ID3 태그 정보를 기반으로 MP3 파일의 이름을 일괄 적으로 변경하거나 ID3 정보가없는 경우 임의의 이름을 지정합니다.

분류에서Dev

.bashrc 파일에서 경로 이름을 별칭으로 설정

분류에서Dev

nexmo를 사용하여 laravel의 발신자 이름을 확인에서 내 회사 이름으로 변경

분류에서Dev

R에서 복잡한 문자열의 이름을 체계적으로 변경

분류에서Dev

중복 파일 이름을 여러 폴더의 다른 이름으로 변경

분류에서Dev

Mac 터미널 파일 이름을 임의로 변경

분류에서Dev

각 줄의 각 파일 경로에서 파일 이름을 추출하고 그 옆에 추가하십시오.

분류에서Dev

파일 이름의 특수 문자 이름을 밑줄로 바꿉니다.

분류에서Dev

zip 파일에서 추출 된 파일의 이름을 zip 파일 자체의 이름으로 바꿉니다.

분류에서Dev

R에서 여러 이름을 하나의 단일 이름으로 변경하는 간단한 방법이 있습니까?

분류에서Dev

Bash- ".tmp"파일의 이름을 재귀 적으로 변경

분류에서Dev

"0"을 Json 파일의 이름으로 변경

분류에서Dev

r에서 행별로 데이터 프레임의 순서와 이름 변경

Related 관련 기사

  1. 1

    .fasta 파일 이름 변경

  2. 2

    fasta 파일의 식별자 줄에 임의의 문자열을 추가하고 싶습니다.

  3. 3

    순차 파일의 이름을 행 / 열 형식으로 변경

  4. 4

    축약 된 월 이름을 한 줄 내의 숫자로 변환

  5. 5

    CSV 파일의 이름을 자동으로 변경

  6. 6

    Oneliner에 대한 도움말-임의 파일 생성, 2 자로 된 파일 이름으로 이름 변경, 임의 문자열로 채우기

  7. 7

    Ubuntu 20.10에서 텍스트 파일의 첫 번째 줄 (내용)을 기반으로 텍스트 파일의 이름을 대량 / 일괄 변경합니까?

  8. 8

    codeigniter에 업로드 된 파일의 이름을 임의의 문자열로 변경

  9. 9

    한 형식의 파일 이름을 다른 형식으로 변경

  10. 10

    여러 개의 압축을 풀고 필요한 경우 동일한 이름으로 자동으로 파일 이름을 바꿉니다.

  11. 11

    파일 이름의 특정 구성 요소 이름을 소문자에서 대문자로 변경

  12. 12

    Maven에서 생성 된 축소 된 파일의 이름 변경

  13. 13

    파이썬에서 임의의 이름으로 여러 개의 파일을 만들고 압축하십시오.

  14. 14

    폴더의 모든 파일 이름을 숫자 순으로 변경

  15. 15

    laravel에서 여러 개의 동일한 이름을 하나의 단일 이름으로 변환

  16. 16

    가변 긴 파일 이름을 앞과 끝의 문자열로 줄입니다.

  17. 17

    Linux 명령 줄 도구는 ID3 태그 정보를 기반으로 MP3 파일의 이름을 일괄 적으로 변경하거나 ID3 정보가없는 경우 임의의 이름을 지정합니다.

  18. 18

    .bashrc 파일에서 경로 이름을 별칭으로 설정

  19. 19

    nexmo를 사용하여 laravel의 발신자 이름을 확인에서 내 회사 이름으로 변경

  20. 20

    R에서 복잡한 문자열의 이름을 체계적으로 변경

  21. 21

    중복 파일 이름을 여러 폴더의 다른 이름으로 변경

  22. 22

    Mac 터미널 파일 이름을 임의로 변경

  23. 23

    각 줄의 각 파일 경로에서 파일 이름을 추출하고 그 옆에 추가하십시오.

  24. 24

    파일 이름의 특수 문자 이름을 밑줄로 바꿉니다.

  25. 25

    zip 파일에서 추출 된 파일의 이름을 zip 파일 자체의 이름으로 바꿉니다.

  26. 26

    R에서 여러 이름을 하나의 단일 이름으로 변경하는 간단한 방법이 있습니까?

  27. 27

    Bash- ".tmp"파일의 이름을 재귀 적으로 변경

  28. 28

    "0"을 Json 파일의 이름으로 변경

  29. 29

    r에서 행별로 데이터 프레임의 순서와 이름 변경

뜨겁다태그

보관