변형 그래프는 많은 게놈의 서열의 간결한 인코딩을 제공한다. 변형 그래프 (특히 VG에서 구현 된)는 다음으로 구성됩니다.
이 모델은 어셈블리 및 다중 서열 정렬에 사용 된 시퀀스 그래프와 유사합니다.
경로는 그래프에 인코딩 된 게놈에 대한 좌표계를 제공하므로 그래프의 구조가 변경 되더라도 안정적인 매핑을 생성 할 수 있습니다. 변형 그래프 모델은이 임베딩을 명시적이고 필수적으로 만듭니다. VG의 도구는 그래프를 변환하는 동안 경로를 불변으로 유지합니다. 그들은 경로를 사용하여 그래프 관련 데이터를 참조 관련 좌표 공간으로 프로젝트합니다. 경로는 동일한 입력 시퀀스와 다른 방식으로 내장 된 그래프에 대한 안정적인 좌표를 제공합니다.
인용하십시오 :
vg
사용할 때 VG 용지vg giraffe
사용할 때 VG 기린 용지vg call
로 SV 유전자형 분석을 할 때 VG 통화 종이vg deconstruct
사용할 때 HPRC 용지vg snarls
사용할 때 snarls 종이vg haplotypes
및/또는 vg giraffe --haplotype-name
우리는 Biostars에 대한 지원 포럼을 유지합니다 : https://www.biostars.org/tag/vg/
VG를 얻는 가장 쉬운 방법은 Linux 용 릴리스 빌드 중 하나를 다운로드하는 것입니다. 우리는 6 주 릴리스 케이던스를 가지고 있으므로 빌드는 너무 멀지 않습니다.
Linux의 최신 VG 릴리스를 다운로드하십시오
MacOS의 경우 MacOS 건물을 참조하십시오.
VG의 사전 구축 릴리스를 원하지 않거나 사용하지 않거나 VG 개발자가 되려면 대신 소스에서이를 구축 할 수 있습니다.
먼저, repo와 그 하위 모듈을 얻으십시오.
git clone --recursive https://github.com/vgteam/vg.git
cd vg
그런 다음 VG의 종속성을 설치하십시오. Protobuf 및 Jansson Development Libraries가 설치되어야하며 필요한 테스트를 실행하려면 다음과 같습니다.
jq
, bc
, rs
및 parallel
bsdmainutils
의 hexdump
및 column
npm
).우분투에서는 다음과 같이 할 수 있어야합니다.
make get-deps
sudo
찾을 수 없다는 불만이있는 경우 설치하십시오.
apt update
apt install sudo
E: Unable to locate package build-essential
많은 오류가 발생하면 패키지 인덱스 파일을 실행하여 최신 상태인지 확인하십시오.
sudo apt update
다른 배포판에서 또는 루트 액세스가없는 경우 다음과 같은 것을 수행해야합니다.
sudo apt-get install build-essential git cmake pkg-config libncurses-dev libbz2-dev
protobuf-compiler libprotoc-dev libprotobuf-dev libjansson-dev
automake gettext autopoint libtool jq bsdmainutils bc rs parallel
npm curl unzip redland-utils librdf-dev bison flex gawk lzma-dev
liblzma-dev liblz4-dev libffi-dev libcairo-dev libboost-all-dev
libzstd-dev pybind11-dev python3-pybind11
우분투 16.04는 충분히 새로운 프로토 부프를 배송하지 않습니다. VG에는 수동으로 설치 해야하는 protobuf 3이 필요합니다.
현재 VG를 컴파일하려면 C ++ 14를 지원하는 GCC 버전 4.9 이상이 필요합니다. ( gcc --version
으로 버전을 확인하십시오.) 최대 11.2.0의 GCC가 지원됩니다.
다른 라이브러리가 필요할 수 있습니다. 빌드 어려움을보고하십시오.
64 비트 OS가 필요합니다. 우분투 20.04는 작동해야합니다.
준비가되면 make
으로 구축하십시오. make -j16
사용하여 한 번에 16 개의 빌드 스레드를 실행하여 프로세스를 크게 가속화 할 수 있습니다. 더 많은 CPU 코어가있는 경우 더 많은 숫자를 사용할 수 있습니다.
VG는 컴퓨터와 사용 된 스레드 수에 따라 컴파일하는 데 10 분에서 1 시간 이상 걸릴 수 있습니다.
시스템에 설치된 모든 종속성의 정적 버전이 있다고 가정하면 make static
으로 정적 바이너리를 생성 할 수 있습니다.
VG가 구축되면 바이너리는 VG 리포지토리 디렉토리 내부의 bin/vg
에 있습니다. 다음과 같이 실행할 수 있습니다.
./bin/vg
또한 디렉토리를 PATH
Enviornment 변수에 추가하여 모든 디렉토리에서 vg
호출 할 수 있습니다. Bash에서이를 수행하려면 VG Repository 디렉토리 에서이 명령을 사용하십시오.
echo 'export PATH="${PATH}:'"$(pwd)"'/bin"' >>~/.bashrc
그런 다음 터미널을 닫고 새 것을 엽니 다. vg
실행하여 작동하는지 확인하십시오.
작동하지 않으면 홈 디렉토리에 .bashrc
를 실행할 .bash_profile
파일이 있는지 확인하십시오.
if [ -f ~/.bashrc ]; then
source ~/.bashrc
fi
첫 번째 단계는 VG 저장소를 복제하는 것입니다.
git clone --recursive https://github.com/vgteam/vg.git
cd vg
VG는 제작중인 시스템에 설치되는 여러 패키지에 따라 다릅니다. MacPorts 또는 Homebrew를 사용하여 종속성을 설치할 수 있습니다.
Macports를 사용하여 VG의 종속성을 설치할 수 있습니다.
sudo port install libtool protobuf3-cpp jansson jq cmake pkgconfig autoconf automake libtool coreutils samtools redland bison gperftools md5sha1sum rasqal gmake autogen cairo libomp boost zstd pybind11
Homebrew는 OSX를위한 또 다른 패키지 관리 솔루션을 제공하며 Macports를 통해 일부 사용자보다 바람직 할 수 있습니다. VG는 홈 브루 의존성을 설명하는 Brewfile
선적하므로 루트 VG 디렉토리에서 종속성을 설치하고 VG에 노출시킬 수 있습니다.
# Install all the dependencies in the Brewfile
brew bundle
종속성이 설치된 상태에서 VG를 구축 할 수 있습니다.
make
Linux와 마찬가지로 컴퓨터가 처리 할 수있는 경우 -j16
또는 다른 숫자를 끝에 추가하여 여러 빌드 작업을 한 번에 실행할 수 있습니다.
정적 바이너리는 아직 Mac을 위해 건축 할 수 없습니다.
VG MAC 빌드는 현재 버전의 Apple Clang과 Apple Clang의 모든 버전이 GitHub Actions Mac CI 시스템에서 제공하는 모든 것을 대상으로합니다. Clang이 최신 상태이고 VG가 귀하를 위해 구축되지 않으면 문제를여십시오.
VG가 구축되면 바이너리는 VG 리포지토리 디렉토리 내부의 bin/vg
에 있습니다. 다음과 같이 실행할 수 있습니다.
./bin/vg
또한 디렉토리를 PATH
Enviornment 변수에 추가하여 모든 디렉토리에서 vg
호출 할 수 있습니다. 기본 zsh
Mac Shell에서이를 수행하려면 VG Repository 디렉토리 에서이 명령을 사용하십시오.
echo 'export PATH="${PATH}:'"$(pwd)"'/bin"' >>~/.zshrc
그런 다음 터미널을 닫고 새 것을 엽니 다. vg
실행하여 작동하는지 확인하십시오.
Mac 플랫폼은 Apple의 M1, M1 Pro, M1 Max 및 후속 칩 설계와 함께 ARM으로 이동하고 있습니다. VG Codebase는 Linux뿐만 아니라 Mac의 ARM을 지원합니다. 일반적인 설치 지침은 공장에서 열린 ARM MAC에서 작동합니다 .
그러나 작동중인 VG 빌드 환경을 마이그레이션 하거나 MacPorts 또는 Homebrew를 X86_64에서 ARM으로 마이그레이션 할 때 문제가 발생하기 쉽습니다. ARM 머신은 이전 기계에서 MacPorts 또는 Homebrew를 통해 설치된 X86_64 도구를 성공적으로 실행할 수 있지만 VG는 make
및 Cmake와 같은 빌드 도구의 ARM 버전을 사용하는 경우 ARM에만 제대로 구축 할 수 있습니다.
따라서 Apple의 마이그레이션 도구를 사용하여 ARM Mac으로 마이그레이션 한 후 :
make clean
. 이것은 모든 빌드 인공물을 제거 해야합니다 .make
로 다시 VG를 구축하십시오. 이 후에도 여전히 구축 문제가 발생하면 전체 체크 아웃을 삭제하고 코드를 다시 확인하십시오. make clean
CI 테스트 중이 아니며 나머지 빌드 시스템과 항상 최신 상태가 아닙니다.
도움이되는지 여부에 관계없이 문제를 열어 빌드를 수정하거나 수정 make clean
도움이 될 수 있습니다.
참고
vg autoindex
예제는vg construct
대신 해당 도구를 사용하여 단일 단계에서 그래프를 빌드하고 인덱싱하는 방법을 참조하십시오.
vg
로 그래프를 작성하는 한 가지 방법은 참조 FASTA 파일 및 VCF 파일을 사용하여 변형 호출에서 construct
것입니다. VG의 test/
디렉토리에서 작업하는 경우 :
vg construct -r small/x.fa -v small/x.vcf.gz > x.vg
그래프를 작성하려면 VCF 파일의 인덱스가 필요합니다. VCF 인덱스 파일은 samtools (예 : tabix -p vcf x.vcf.gz
명령 행)가 제공 한 tabix
명령을 사용하여 생성 할 수 있습니다.
Minigraph-Cactus를 사용하여 위에서 설명한 바와 같이 Genome Assemblies (FASTA) 세트에서 그래프 (및 VG로 맵핑을위한 인덱스)를 작성할 수도 있습니다.
vg
여러 형식을 지원하며 가장 중요한 것은 다음과 같습니다.
PackedGraph (.vg)
: vg's
기본 형식입니다. 모든 종류의 편집을 지원하지만 (토폴로지 및 경로로) 대규모, 특히 많은 경로에서는 비효율적 일 수 있습니다.GFA (.gfa)
: GFA는 표준 텍스트 기반 형식이며 일반적으로 vg
와 다른 Pangenome 도구 간 그래프를 교환하는 가장 좋은 방법입니다. vg
또한 메모리에서 PackedGraph
표현을 사용하여 (따라서 압축되지 않은 ) GFA 파일에서 직접 작동 할 수 있습니다 (따라서 스케일링 문제 및 편집 가능성이 형식화되는 공유).GBZ (.gbz)
: GBZ는 위의 형식보다 경로를 저장하기 위해 훨씬 적은 공간을 사용하는 고도로 압축 된 형식이지만 그래프에 대한 일반적인 편집을 허용하지 않는 비용으로. vg stats -F
사용하여 모든 그래프 형식을 쿼리 할 수 있습니다.
일반적으로 vg autoindex
(GFA 또는 VCF) 또는 Minigraph-Cactus
(FASTAS)를 사용하여 vg
그래프를 구축하고 인덱싱하게됩니다. vg convert -g
사용하여 ODGI 및 PGGB와 같은 다른 도구에서 GFA
파일을 가져올 수도 있습니다.
vg convert -f
사용하여 모든 그래프를 GFA
로 변환 할 수 있습니다. 기본적으로 vg
경로가 W 린으로 표시되는 GFA V1.1을 사용합니다. 대신 P -Lines를 사용하려면 (GFA V1.0) vg convert -fW
사용하십시오.
GBZ
형식은 REFERENCE
과 HAPLOTYPE
경로를 구분합니다. REFERENCE
경로는 좌표계로 사용될 수 있지만 저장 비용이 더 비쌉니다. HAPLOTYPE
경로는 고도로 압축되어 있지만 위치 조회에는 사용할 수 없습니다. 예를 들어 HPRC 그래프에서 GRCh38
및 CHM13(T2T)
의 Contig는 REFERENCE
경로 및 기타 모든 샘플 HAPLOTYPE
경로입니다.
REFERENCE
과 HAPLOTYPE
경로의 구별은 전환 및 상호 수술을 용이하게하기 위해 .vg
및 .gfa
와 같은 다른 형식으로 전달됩니다. .gfa
에서, REFERENCE
경로는 P-Lines 또는 샘플 이름이 헤더에 표시되는 W-Lines입니다. 헤더에 이름이 표시되지 않은 W 라인은 HAPLOTYPE
경로입니다. .vg
에서 그들은 명명 규칙을 사용하여 표시됩니다.
자세한 내용은 경로 메타 데이터 위키를 참조하십시오.
경고
GBZ
는vg
에서 많은 수의 일배HAPLOTYPE
경로를 효율적으로로드하는 것을 지원하는 유일한 형식입니다..vg
또는.gfa
파일에서 수천 개의HAPLOTYPE
으로 전체 게놈 그래프를로드하려는 문제가 발생할 수 있습니다.vg convert -H
HAPLOTYPE
경로를 떨어 뜨리는 데 사용하여 그래프를 다른 형식으로보다 쉽게로드 할 수 있습니다.
참고 GFA 변환에 최신
vg convert
도구 (위에서 설명)를 사용하는 것이 가장 좋습니다.
vg view
그래프를 다양한 형식으로 변환하는 방법을 제공합니다.
# GFA output
vg view x.vg > x.gfa
# dot output suitable for graphviz
vg view -d x.vg > x.dot
# And if you have a GAM file
cp small/x-s1337-n1.gam x.gam
# json version of binary alignments
vg view -a x.gam > x.json
하나 이상의 시퀀스가 있거나 큰 그래프를 작업하는 경우 단순히 정렬하지 않고 매핑하려고합니다.
vg
에는 여러 개의 읽기 맵퍼가 있습니다.
vg giraffe
일배 체형 정보가있는 그래프에 대해 매우 정확한 짧은 판독 값을 위해 빠르게 설계되었습니다.vg map
일반 목적 읽기 맵퍼입니다.vg mpmap
로컬 정렬 불확실성을 설명하기 위해 "다중 경로"매핑을 수행합니다. 이것은 전 사체학에 유용합니다. vg giraffe
으로 매핑 vg giraffe
사용하여 읽기를 맵핑하려면 먼저 인덱스를 준비해야합니다. 이것은 vg autoindex
사용하는 것이 가장 좋습니다. vg autoindex
VCF 파일에서 일배 체형 정보를 사용하도록하려면 VCF와 관련된 선형 참조를 직접 줄 수 있습니다.
# construct the graph and indexes (paths below assume running from `vg/test` directory)
vg autoindex --workflow giraffe -r small/x.fa -v small/x.vcf.gz -p x
# simulate a bunch of 150bp reads from the graph, into a GAM file of reads aligned to a graph
vg sim -n 1000 -l 150 -x x.giraffe.gbz -a > x.sim.gam
# now re-map these reads against the graph, and get BAM output in linear space
# FASTQ input uses -f instead of -G.
vg giraffe -Z x.giraffe.gbz -G x.sim.gam -o BAM > aln.bam
vg girafe
사용에 대한 자세한 내용은 vg
Wiki에서 찾을 수 있습니다.
vg map
으로 매핑 그래프가 크면 vg index
사용하여 그래프 및 vg map
저장하여 읽기를 정렬합니다. vg map
KMER 기반 시드를 구현하고 Novoalign 또는 Mosaik과 같은 정렬기에 사용되는 것과 유사한 정렬 모델을 확장합니다. 먼저 온 디스크 인덱스는 그래프 자체와 특정 크기의 Kmers를 포함하는 vg index
로 구축됩니다. 매핑 할 때는 인덱스에 사용 된 것보다 짧은 KMER 크기를 사용할 수 있으며 기본적으로 Mapper는 특정 k 에서 정렬 할 때 KMER 크기를 감소시킵니다.
# construct the graph (paths below assume running from `vg/test` directory)
vg construct -r small/x.fa -v small/x.vcf.gz > x.vg
# store the graph in the xg/gcsa index pair
vg index -x x.xg -g x.gcsa -k 16 x.vg
# align a read to the indexed version of the graph
# note that the graph file is not opened, but x.vg.index is assumed
vg map -s CTACTGACAGCAGAAGTTTGCTGTGAAGATTAAATTAGGTGATGCTTG -x x.xg -g x.gcsa > read.gam
# simulate a bunch of 150bp reads from the graph, one per line
vg sim -n 1000 -l 150 -x x.xg > x.sim.txt
# now map these reads against the graph to get a GAM
vg map -T x.sim.txt -x x.xg -g x.gcsa > aln.gam
# surject the alignments back into the reference space of sequence "x", yielding a BAM file
vg surject -x x.xg -b aln.gam > aln.bam
# or alternatively, surject them to BAM in the call to map
vg sim -n 1000 -l 150 -x x.xg > x.sim.txt
vg map -T x.sim.txt -x x.xg -g x.gcsa --surject-to bam > aln.bam
정렬의 변동은 그래프에 다시 포함될 수 있습니다. 이 프로세스를 증강이라고하며 De Novo 변형 호출에 사용될 수 있습니다 (예 : 아래 참조).
변형 호출을 위해
vg augment
사용한 경고는 여전히 실험적입니다. 구조 변형 호출에는 전혀 권장되지 않으며 소규모 변이조차도BAM
에 정렬을 투사하고 DeepVariant와 같은 선형 변형 발신자를 실행하여 훨씬 더 정확한 결과를 얻게됩니다 (적어도 인간).
# augment the graph with all variation from the GAM except that implied by soft clips, saving to aug.vg. aug.gam contains the same reads as aln.gam but mapped to aug.vg
vg augment x.vg aln.gam -A aug.gam > aug.vg
# augment the graph with all variation from the GAM, saving each mapping as a path in the graph.
# softclips of alignment paths are preserved (`-S`).
# Note, this can be much less efficient than the above example if there are many alignments in the GAM
vg augment x.vg aln.gam -i -S > aug_with_paths.vg
참고 자세한 정보는 위키에서 찾을 수 있습니다.
다음 예제는 읽기지지를 사용하여 VG로 VCF를 생성하는 방법을 보여줍니다. 이들은 위의 매핑 및 증강 사례의 출력에 의존합니다. 작은 변형과 SV를 동일한 접근법을 사용하여 호출 할 수 있습니다. 현재 SVS에 더 많은 계산이 있습니다 .
그래프에 존재하는 변형 만 호출하십시오.
# Compute the read support from the gam
# -Q 5: ignore mapping and base qualitiy < 5
vg pack -x x.xg -g aln.gam -Q 5 -o aln.pack
# Generate a VCF from the support.
vg call x.xg -k aln.pack > graph_calls.vcf
기본적으로 vg call
0/0
변형을 생략하고 대립 유전자를 정상화하여 VCF를보다 컴팩트하게 만들려고합니다. 이 두 단계는 모두 VCF가 동일한 그래프를 사용하여 생성 되었음에도 불구하고 다른 좌표를 갖기 때문에 다른 샘플의 출력을 비교하기가 어려워 질 수 있습니다. -a
옵션은 동일한 좌표를 사용하여 모든 Snarl에 전화하여 참조 통화를 포함하여이를 해결합니다. 다른 샘플의 출력은 bcftools merge -m all
와 결합 할 수 있습니다.
vg call x.xg -k aln.pack -a > snarl_genotypes.vcf
읽기에서 새로운 변형을 고려하려면 증강 그래프와 GAM을 사용하십시오 ( vg augment -A
사용하여 "증강"예제에서 생성) :
변형 호출을 위해
vg augment
사용한 경고는 여전히 실험적입니다. 구조 변형 호출에는 전혀 권장되지 않으며 소규모 변이조차도BAM
에 정렬을 투사하고 DeepVariant와 같은 선형 변형 발신자를 실행하여 훨씬 더 정확한 결과를 얻게됩니다 (적어도 인간).
# Index our augmented graph
vg index aug.vg -x aug.xg
# Compute the read support from the augmented gam (ignoring qualitiy < 5, and 1st and last 5bp of each read)
vg pack -x aug.xg -g aug.gam -Q 5 -s 5 -o aln_aug.pack
# Generate a VCF from the support
vg call aug.xg -k aln_aug.pack > calls.vcf
유사한 프로세스는 VCF로부터 알려진 변이체를 유전자형시키는 데 사용될 수있다. 이렇게하려면 그래프는 vg construct -a
사용하여 VCF에서 구성되어야합니다 ( vg autoindex
및 Minigraph-Cactus
와 같은 다른 소스의 그래프) :
# Re-construct the same graph as before but with `-a`
vg construct -r small/x.fa -v small/x.vcf.gz -a > xa.vg
# Index the graph with `-L' to preserve alt paths in the xg
vg index xa.vg -x xa.xg -L
# Compute the support (we could also reuse aln.pack from above)
vg pack -x xa.xg -g aln.gam -o aln.pack
# Genotype the VCF (use -v)
vg call xa.xg -k aln.pack -v small/x.vcf.gz > genotypes.vcf
컴퓨팅 지원 전에 GAM을 사전 필터링하면 SNP 호출의 정밀도를 향상시킬 수 있습니다.
# filter secondary and ambiguous read mappings out of the gam
vg filter aln.gam -r 0.90 -fu -m 1 -q 15 -D 999 -x x.xg > aln.filtered.gam
# then compute the support from aln.filtered.gam instead of aln.gam in above etc.
vg pack -x xa.xg -g aln.filtered.gam -o aln.pack
vg call xa.xg -k aln.pack -v small/x.vcf.gz > genotypes.vcf
더 큰 그래프의 경우 Snarls를 별도로 계산하는 것이 좋습니다.
vg snarls x.xg > x.snarls
# load snarls from a file instead of computing on the fly
vg call x.xg -k aln.pack -r x.snarls > calls.vcf
참고 : vg augment
, vg pack
, vg call
및 vg snarls
이제 모든 그래프 형식 (예 : '.gbz', '.gfa', .vg
, .xg
( augment
제외) 또는 vg convert
의 출력이있는 모든 것을 직접 실행할 수 있습니다. vg convert
). .vg
또는 '.gfa'에서 작동하면 가장 메모리가 가장 많이 사용되며 큰 그래프에는 권장되지 않습니다. vg pack
의 출력은 생성에 사용되는 것과 동일한 그래프와 함께 만 읽을 수 있으므로 vg pack x.vg -g aln.gam -o x.pack
그러면 vg call x.xg -k x.pack
작동하지 않습니다. .
그래프의 경로에 의해 암시 된 정렬에서 변형을 추론합니다. 예를 들어, 다른 어셈블리의 다중 정렬로 구성된 변형 그래프에서 SV를 직접 호출하는 데 사용할 수 있습니다.
# create a graph from a multiple alignment of HLA haplotypes (from vg/test directory)
vg msga -f GRCh38_alts/FASTA/HLA/V-352962.fa -t 1 -k 16 | vg mod -U 10 - | vg mod -c - > hla.vg
# index it
vg index hla.vg -x hla.xg
# generate a VCF using gi|568815592:29791752-29792749 as the reference contig. The other paths will be considered as haploid samples
vg deconstruct hla.xg -e -p " gi|568815592:29791752-29792749 " > hla_variants.vcf
.gbz
또는 .gbwt
인덱스 입력의 일배 체형 경로는 각각 -z
및`-g '를 사용하여 고려할 수 있습니다.
vg call
과 마찬가지로 큰 그래프로 작업 할 때는 Snarls를 별도로 계산하고 -r
로 전달하는 것이 가장 좋습니다.
vg
에는 스 플라이 싱 그래프 (즉, 주석이 달린 스플 라이스 접합이 그래프에 가장자리로 추가 된 그래프)로 전 사체 분석을 지원하는 많은 도구가 있습니다. 이 가장자리는 vg rna
사용하여 기존 그래프에 추가 할 수 있습니다. 그런 다음 vg mpmap
사용 하여이 그래프에 대한 스플 라이스 인식 매핑을 수행 할 수 있습니다. vg
개발자는 또한 rpvg
의 이러한 도구를 기반으로 일배 체형 인식 전사 정량화를위한 도구를 만들었습니다. 이 파이프 라인을 시작하는 가장 쉬운 방법은 vg autoindex
서브 커드 맨을 사용하여 vg mpmap
에 대한 색인을 만드는 것입니다. vg autoindex
Fasta, VCF 및 GTF와 같은 일반적인 인터체인지 형식의 매핑을위한 인덱스를 만듭니다.
자세한 내용은 Transcriptomics의 Wiki 페이지에서 확인할 수 있습니다.
test/
디렉토리에서 작업 : 다음 예제는 4 개의 스레드와 함께 vg autoindex
사용하여 스 플라이 싱 된 판간 네놈 그래프 및 인덱스를 만드는 방법을 보여줍니다.
# Create spliced pangenome graph and indexes for vg mpmap
vg autoindex --workflow mpmap -t 4 --prefix vg_rna --ref-fasta small/x.fa --vcf small/x.vcf.gz --tx-gff small/x.gtf
RNA-Seq 판독 값은 4 개의 스레드를 사용하여 vg mpmap
사용하여 스 플라이 싱 된 판 게놈 그래프에 매핑 될 수 있습니다.
# Map simulated RNA-seq reads using vg mpmap
vg mpmap -n rna -t 4 -x vg_rna.spliced.xg -g vg_rna.spliced.gcsa -d vg_rna.spliced.dist -f small/x_rna_1.fq -f small/x_rna_2.fq > mpmap.gamp
이것은 다중 경로 형식의 정렬을 생성합니다. MPMAP의 MPMAP의 MPMAP 및 vg mpmap
에 대한 자세한 내용은 MPMAP를 참조하십시오. 4 개의 스레드를 사용하여 작은 예제 데이터에서 두 명령을 실행하면 대부분의 머신에서 1 분도 채 걸리지 않아야합니다.
작은 그래프가있는 경우 전체 길이 부분 순서 정렬을 사용하여 전체 그래프에 시퀀스를 정렬 할 수 있습니다.
vg align -s CTACTGACAGCAGAAGTTTGCTGTGAAGATTAAATTAGGTGATGCTTG x.vg
디스크에 그래프를 전혀 저장할 필요가 없으므로 간단히 로컬 정렬기에 파이프 할 수 있습니다.
vg construct -r small/x.fa -v small/x.vcf.gz | vg align -s CTACTGACAGCAGAAGTTTGCTGTGAAGATTAAATTAGGTGATGCTTG -
대부분의 명령은 vg
로 그래프를 스트리밍 할 수 있습니다.
다양한 명령을 사용할 수 있습니다.
vg
Protobuf 스키마 (vg.proto)에 의해 설명되는 공통 데이터 모델 (변형 그래프)을 기반으로 한 도구 모음입니다. vg.proto에 정의 된 데이터 객체는 stream.hpp에 정의 된 스트림 패턴을 통해 직렬화 될 수 있습니다. 여기에 정의 된 알고리즘과 인터페이스하기 위해 VG에서 코드를 작성할 필요는 없습니다. 오히려 동일한 데이터 형식을 읽고 쓰는 외부 알고리즘을 작성하는 것이 더 간단합니다.
MIT