본문 바로가기

linux(리눅스)

for문으로 프로그램 돌리기 리눅스

728x90
반응형

#!/bin/bash
# This is to run variant effect predictor version 37.75



indir=/mnt/yonsei/project/sjoh/vcf/vcfb12 # input directory
outdir=/mnt/yonsei/project/sjoh/vcf/v75/ # Output directory
tail='_vcf37_75.vcf'


for x in $indir/*.vcf
do
        echo $x
        y=${x##*/} #indir의 path를 지워줌
        echo $outdir$y
        echo 'z'
        z=${y%_unfiltered.*} # 파일의 특정부분 뒷부분을 지움 별표된 부분을 지워줌.
        echo $z$tail
        perl /mnt/tools/vep/ensembl-tools-release-75/scripts/variant_effect_predictor/variant_effect_predictor.pl \
        -i $x -o $z$tail -db 75 --symbol --biotype --protein --canonical --sift b --polyphen b --database \

--dir_cache /root/.vep --no_stats

done


--database 대신 --offline을 쓰면 더빠름

이경우는 모든 것이 설치된 경우에 적합함

--dir_cache는 vep의 cache경로를 설정해주는 거임. root 계정으로 깔게되면 cache는 /root/.vep에 있음

아닌 경우 /home/유저/.vep에 깔림.


# 응용

# 파일의 이름에서 스페이스를 _로 바꾸기

for f in *\ *; do mv "$f" "${f// /_}"; done


파일이 존재하는지 여부를 확인할 때,

if [ -f "/home/sjoh/gbm/vcf_germline_mut/tmp_gbm/tmp.vcf" ]

then

echo 'true'

fi


if [ ! -f "/home/sjoh/gbm/vcf_germline_mut/tmp_gbm/tmp.vcf" ]

then

echo 'true'

fi


파일 존재 유무로 vep돌리는 법

#!/bin/bash
# This is to run variant effect predictor version 37.75
indir=/home/sjoh/gbm/vcf_germline_mut/tmp_gbm # input directory
outdir=/home/sjoh/gbm/vcf_germline_mut/tmp_gbm/outdir/ # Output directory
tail='_vcf37_75.vcf'


for x in $indir/*.vcf
do
        echo $x
        y=${x##*/} #indir의 path를 지워줌
        echo $outdir$y
        echo 'z'
        z=${y%_unfiltered.*} # 파일의 특정부분 뒷부분을 지움 별표된 부분을 지워줌.
        echo $z$tail
    echo $outdir$z$tail
if [ ! -f $outdir$z$tail ]
then
        perl /mnt/tools/vep/ensembl-tools-release-75/scripts/variant_effect_predictor/variant_effect_predictor.pl \
        -i $x -o $outdir$z$tail -db 75 --symbol --biotype --protein --canonical --sift b --polyphen b --offline \
    --dir_cache /root/.vep --no_stats
fi
done



위치의 경우 offline에서 vep 37.75를 사용한 경우 insertion은 uploaded variant의 position이 그대로임.

예를들어 아래의 경우


#CHROM    POS    ID    REF    ALT    QUAL    FILTER    INFO
chr11 124266936  .   A  AG    .      .    SOMATIC;T_FS_PVAL=4.7093988616


vcf의 결과에서는 location 정보가 아래와 같이 나옴.

location
11:124266936-124266937
uploaded variation
11_124266937_-/G


deletion의 경우 +1을 한 값으로 나옴.

#CHROM    POS    ID    REF    ALT    QUAL    FILTER    INFO
chr1    980820    .    TG    T    .    .    SOMATIC;T_FS_PVAL=4.44676582819

location
1:980821
uploaded variation
1_980821_G/-

728x90
반응형