2016-09-01 2 views
1

나는 이것이 쉬운 일이라고 확신하지만, 나는 생물 정보학적인 경험이 매우 제한적이다.복수의 Fasta 정렬 파일을 주문하는 방법

동일한 12 종의 서로 다른 유전자의 정렬을 포함하는 많은 -100,000 개의 FASTA 파일이 있습니다. 각 파일은 다음과 같이 보입니다 : 같은 방법으로 정렬

>dmel 
ACTTTTGATACAATTAAC 
>dsim 
AATCCCAGACAAATTAAG 
>dsec 
AGTTTTGCAATGGTAAAT 
>dere 
TGGAATATTAGACGAATT 
... 

하지 모든 파일을 내가 그들 모두가 싶습니다. 알파벳 순으로 정렬 할 수 있습니다. 더 쉬운 경우 모든 파일이 동일하게 정렬되어있는 한 순서가 어떻게 적용되는지는 중요하지 않습니다. 알파벳 순서는 다음과 같아야합니다.

>dere 
TGGAATATTAGACGAATT 
>dmel 
ACTTTTGATACAATTAAC 
>dsec 
AGTTTTGCAATGGTAAAT 
>dsim 
AATCCCAGACAAATTAAG 
... 

이 작업을 자동으로 수행하는 스크립트는 매우 만족 스럽습니다.

편집 : 작동하는 sed를 사용하는 셸 스크립트를 사용했지만 문제가 있습니다. 그것은 파일의 수가 그다지 크지 않을 때 작동하지만이 특별한 경우 다른 이름을 가진 중복 된 파일을 생성합니다. 이 스크립트는 읽

#!/bin/bash 
echo 
for i in {0..114172}; do 
#sed -e '$ d' bloque.fasta.trim$i >b0.fasta.trim 
#sed -e 's/ /ñ/g' <b0.fasta.trim >b1.fasta.trim 
sed -e 's/ /ñ/g' <bloque.fasta.trim$i >b1.fasta.trim 
tr "\n" " " <b1.fasta.trim >b2.fasta.trim 
sed -e 's/ //g' <b2.fasta.trim>b3.fasta.trim 
sed -e 's/>/\n>/g' <b3.fasta.trim>b4.fasta.trim 
sed '1d' b4.fasta.trim >b5.fasta.trim 
sort b5.fasta.trim >b6.fasta.trim 
sed -e 's/ñ/\n/g' <b6.fasta.trim>b7.fasta.trim$i 
done 

비 정렬 된 파일을 bloque.fasta.trim라고,이 스크립트는 하나 B7을 만들어야합니다 b7.fasta.trim $라는 파일들을 생성한다. 각 bloque에 대한 파일. 파일. 문제는 때로는 파일을 복제하지만 다르게 이름을 지정하는 것입니다. 중복 오류를 만들지 않는 가장 쉬운 접근법이 가장 확실합니다.

+1

BioStar 또는 SEQanswers를 사용해보십시오. 스택 오버플로 (Stack Overflow)의 솔루션을 원한다면 프로그래밍 언어를 명시하고 코딩 시도를 보여줘야합니다. –

+0

좋아요, 작동하지만 제한이있는 내 sed 스크립트를 보여주기 위해 게시물을 편집했습니다. – NKGon

답변

1

Any script that does this automatically would be much appreciated.

정확히 원하는지 모르겠지만 biopython을 사용하여 fasta 파일을 쉽게 분류 할 수 있습니다.

첫째, 모듈 설치 : 당신이 당신의 각 파일을 정렬 할 수 있습니다, 그 후 fasta_sorter.py

from Bio import SeqIO 
import sys 

infile = sys.argv[1] 

records = SeqIO.parse(open(infile, 'r'), 'fasta') 

records_dict = SeqIO.to_dict(records) 

for rec in sorted(records_dict): 
    print ">%s\n%s" % (rec, records_dict[rec].seq) 

: : 이제

# If using debian/ubuntu 
sudo apt-get install python-biopython 

# If other operational system, install pip and 
pip install biopython 

를 파일에이 코드, 예를 들어 쓰기

python fasta_sorter.py /path/to/your.fasta > file.sorted.fasta 

for 루프에 넣을 수 있습니다.

+0

감사합니다. 그것은 약 2 시간이 꽤 오랜 시간이 걸렸습니다 그리고 (마지막으로 가장 최근 통화) 각 파일 역 추적에 대한 다음과 같은 오류 메시지가 준 : 개방 (= SeqIO.parse 기록에 파일 "fasta_sorter.py", 라인 6, (infile, 'r'), 'fasta') IOError : [Errno 2] 해당 파일이나 디렉토리가 없습니다. 'bloque.fasta.trim114172' – NKGon

+0

@NKGon은 분류기에 입력 된 파일이없는 것 같습니다 . 예 : bloque.fasta.trim114172 – taniguti

+0

나는 그렇게 생각했지만 파일은 거기에 있으며 출력 파일도 생성되었습니다. 나는 아무런 설명이 없지만 어떻게 든 작동한다. – NKGon

관련 문제