
파일 1의 모든 객체 ID의 fasta 시퀀스를 복사할 수 있도록 파일의 첫 번째 열의 모든 값을 파일 2의 행 텍스트와 일치시키는 방법을 알려주십시오.
파일 1.csv 파일
Object_ID, Length, Assignment
NODE_142_length_92872_cov_11.2497,92872,2005469
NODE_405_length_50717_cov_10.7964,50717,82654
NODE_775_length_33402_cov_18.9306,33402,1147
NODE_1008_length_27630_cov_17.7829,27630,1184
파일 2 fasta.file
>NODE_1_length_501653_cov_19.284
TGGTGTGAGAGGCGCACCTCGCTAACTTTTCAGTTAGCGAGGCCGTCTACTCGATTAGCT
GTTATGAGCCCGACGAGCTACCAACTGCTCCATCCCGCGATATTGTGATGCAAAGGTAAG
>NODE_142_length_92872_cov_11.2497
ATTAACTACTAAGTTACAAATTTTAGTAGCTGTCCAGTTTAAAGGAAGTATTTCATATTT
TCGCTTACGTTAAATAGGAAAAGCAAGTTCTTTTTTGAGGTACCCAGTGAGTCTGATTTT
결과물 파일
>NODE_142_length_92872_cov_11.2497
ATTAACTACTAAGTTACAAATTTTAGTAGCTGTCCAGTTTAAAGGAAGTATTTCATATTT
TCGCTTACGTTAAATAGGAAAAGCAAGTTCTTTTTTGAGGTACCCAGTGAGTCTGATTTT
감사해요
답변1
이는 다음을 통해 수행할 수 있습니다.
for i in `awk -F ',' '{print $1}' file1.csv `; do grep $i fasta.file ; done
여기에서는 먼저 다음 Object_ID
을 사용하여 file1.csv에서 추출합니다.
awk -F ',' '{print $1}' file1.csv
그런 다음 그 주위에 루프를 실행하여 다른 파일에서 추출합니다.
답변2
Fasta 파일이 호출 fasta.fa
되고 CSV 파일이 호출되어 sequences.csv
다음과 같은 결과가 발생했다고 가정해 보겠습니다.SAM 도구(상당히 표준적인 생물정보학 패키지)가 설치됩니다.
Fasta 파일 색인:
samtools faidx fasta.fa
추출하려는 이름을 추출하십시오
regions.txt
.awk -F, 'NR > 1 { print $1 }' <sequences.csv >regions.txt
파일은 시퀀스 이름이 있고 추출 하려는 시퀀스의 영역을 나타내는 형식
region:start-stop
(한 줄에 하나씩) 을 갖습니다. 나는 당신이 완전한 시퀀스를 추출하기를 원한다고 가정하고 있으므로 or 거기에 넣지 않을 것입니다.region
start
stop
start
stop
start
CSV 파일의 숫자를 합계로 사용하려면 다음을 수행하세요stop
.awk -F, 'NR > 1 { printf("%s:%d-%d\n", $1, $2, $3) }' <sequences.csv >regions.txt
시퀀스를 추출하여 다음을 수행합니다
output.fa
.samtools faidx -c fasta.fa -r regions.txt >output.fa
regions.txt
Fasta 파일에 없는 시퀀스 이름은 빈 시퀀스로 출력됩니다 output.fa
( samtools
이에 대해서도 경고가 표시됩니다).
또한보십시오:
- 스택 교환생물정보학 웹사이트