alexanderdilthey / mhc-prg Goto Github PK
View Code? Open in Web Editor NEWPopulation Reference Graphs for the HLA and MHC.
License: GNU General Public License v3.0
Population Reference Graphs for the HLA and MHC.
License: GNU General Public License v3.0
Hi, I am trying to build MHC*PRG for HLA typing. I'm trying to build on my group's remote Red Hat server with GCC version 4.4.6. After installing the dependencies bamtools and boost, and properly modifying the .so paths in the makefile, I get the following error after typing "make all":
g++ -I/home/mdu2002/boost-1.59.0/ -IGraph -I/home/mdu2002/bamtools/include -I/home/mdu2002/bamtools/src -ggdb -O2 -fopenmp -std=gnu++0x -fstack-protector-all Graph/Graph.cpp -c -o ../obj/Graph.o
Graph/Graph.cpp: In member function ‘void Graph::graphViz(int, int, std::string)’:
Graph/Graph.cpp:57: error: expected primary-expression before ‘[’ token
Graph/Graph.cpp:57: error: expected primary-expression before ‘]’ token
Graph/Graph.cpp:57: error: expected primary-expression before ‘int’
Graph/Graph.cpp:57: error: expected primary-expression before ‘*’ token
Graph/Graph.cpp:57: error: ‘n’ was not declared in this scope
Graph/Graph.cpp:57: error: unable to deduce ‘auto’ from ‘’
Graph/Graph.cpp:57: error: expected ‘,’ or ‘;’ before ‘{’ token
Graph/Graph.cpp:1420: error: expected ‘}’ at end of input
It appears the problematic line is line 57 in Graph.cpp:
Any insight as to what the underlying issue is? Many thanks in advance.
While trying to compile, I got the following error. I appreciate any ideas on solving this
humgen-no-iMac:MHC-PRG waleed$ make all
g++-4.8 -I/usr/local/Cellar/boost/1.60.0_1/ -IGraph -I/Users/waleed/Downloads/bamtools/include -I/Users/waleed/Downloads/bamtools/src -ggdb -O2 -fopenmp -std=gnu++0x -fstack-protector-all Utilities.cpp -c -o ../obj/Utilities.o
Utilities.cpp: In static member function 'static std::mapstd::basic_string<char, std::basic_string > Utilities::readFASTA(std::string, bool)':
Utilities.cpp:553:2: error: reference to 'ifstream' is ambiguous
ifstream FASTAstream;
^
In file included from /usr/local/include/boost/filesystem/string_file.hpp:14:0,
from /usr/local/include/boost/filesystem.hpp:19,
from Utilities.cpp:22:
/usr/local/include/boost/filesystem/fstream.hpp:169:32: note: candidates are: typedef class boost::filesystem::basic_ifstream boost::filesystem::ifstream
typedef basic_ifstream ifstream;
^
In file included from /usr/local/Cellar/gcc/4.8.5/include/c++/4.8.5/bits/localefwd.h:41:0,
from /usr/local/Cellar/gcc/4.8.5/include/c++/4.8.5/string:43,
from Utilities.h:12,
from Utilities.cpp:8:
/usr/local/Cellar/gcc/4.8.5/include/c++/4.8.5/iosfwd:157:34: note: typedef class std::basic_ifstream std::ifstream
typedef basic_ifstream ifstream;
^
Utilities.cpp:553:11: error: expected ';' before 'FASTAstream'
ifstream FASTAstream;
^
Utilities.cpp:555:2: error: 'FASTAstream' was not declared in this scope
FASTAstream.open(file.c_str());
^
make: *** [../obj/Utilities.o] Error 1
@AlexanderDilthey Can you recommend a region to illustrate the genome-wide kmer analysis and make a summary table of the genes identified as being in regions of low recovery.
Need to provide a link to the Moleculo data on NA12878 on the Github site (and also within the SOM if not already there).
ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/technical/working/20131209_na12878_moleculo/
I changed paths to my local boost and bamtools. Compiling of GenotypePanel.cpp, HalplotypePanel.cpp, and Edge.cpp completed successfully. Graph.cpp did not.
g++ -I/lb/project/mugqic/analyste_dev/software/boost/1.52 -IGraph -I/lb/project/mugqic/analyste_dev/software/bamtools/2.3.0/include -I/lb/project/mugqic/analyste_dev/software/bamtools/2.3.0/src -ggdb -O2 -fopenmp -std=gnu++0x -fstack-protector-all Data/GenotypePanel.cpp -c -o obj/GenotypePanel.o
g++ -I/lb/project/mugqic/analyste_dev/software/boost/1.52 -IGraph -I/lb/project/mugqic/analyste_dev/software/bamtools/2.3.0/include -I/lb/project/mugqic/analyste_dev/software/bamtools/2.3.0/src -ggdb -O2 -fopenmp -std=gnu++0x -fstack-protector-all Data/HaplotypePanel.cpp -c -o obj/HaplotypePanel.o
g++ -I/lb/project/mugqic/analyste_dev/software/boost/1.52 -IGraph -I/lb/project/mugqic/analyste_dev/software/bamtools/2.3.0/include -I/lb/project/mugqic/analyste_dev/software/bamtools/2.3.0/src -ggdb -O2 -fopenmp -std=gnu++0x -fstack-protector-all Graph/Edge.cpp -c -o obj/Edge.o
g++ -I/lb/project/mugqic/analyste_dev/software/boost/1.52 -IGraph -I/lb/project/mugqic/analyste_dev/software/bamtools/2.3.0/include -I/lb/project/mugqic/analyste_dev/software/bamtools/2.3.0/src -ggdb -O2 -fopenmp -std=gnu++0x -fstack-protector-all Graph/Graph.cpp -c -o obj/Graph.o
Graph/Graph.cpp: In member function ‘void Graph::graphViz(int, int, std::string)’:
Graph/Graph.cpp:57: error: expected primary-expression before ‘[’ token
Graph/Graph.cpp:57: error: expected primary-expression before ‘]’ token
Graph/Graph.cpp:57: error: expected primary-expression before ‘int’
Graph/Graph.cpp:57: error: expected primary-expression before ‘’ token
Graph/Graph.cpp:57: error: ‘n’ was not declared in this scope
Graph/Graph.cpp:57: error: unable to deduce ‘auto’ from ‘’
Graph/Graph.cpp:57: error: expected ‘,’ or ‘;’ before ‘{’ token
Graph/Graph.cpp:1355: error: expected ‘}’ at end of input
make: ** [obj/Graph.o] Error 1
Hi Alex,
Could it be possible for you to provide a clean docker image with HLA-PRG-LA, to avoid having troubles with software installation ?
There's one working well for HLA-PRG (https://hub.docker.com/r/apregier/mhc-prg/), but I haven't found one working well for HLA-PRG-LA.
Best
Fabienne
Hello, I'm trying to compile MHC-PRG on a Linux machine, and I'm running into the following error:
$ make all
g++ -I[PATH_REDACTED]/bamtools/include -I[PATH_REDACTED]bamtools/src -ggdb -O2 -fopenmp -std=gnu++0x -fstack-protector-all readFilter/readFilter.cpp -c -o ../obj/readFilter.o
g++ -I[PATH_REDACTED]bamtools/include -I[PATH_REDACTED]/bamtools/src -ggdb -O2 -fopenmp -std=gnu++0x -fstack-protector-all readFilter/filterLongOverlappingReads.cpp -c -o ../obj/filterLongOverlappingReads.o
g++ -I[PATH_REDACTED]/bamtools/include -I[PATH_REDACTED]/bamtools/src -ggdb -O2 -fopenmp -std=gnu++0x -fstack-protector-all GraphAligner/GraphAndIndex.cpp -c -o ../obj/GraphAndIndex.o
g++ -I[PATH_REDACTED]/bamtools/include -I[PATH_REDACTED]/bamtools/src -ggdb -O2 -fopenmp -std=gnu++0x -fstack-protector-all GraphAligner/AlignerTests.cpp -c -o ../obj/AlignerTests.o
g++ -I[PATH_REDACTED]/bamtools/include -I[PATH_REDACTED]/bamtools/src -ggdb -O2 -fopenmp -std=gnu++0x -fstack-protector-all GraphAligner/VirtualNW.cpp -c -o ../obj/VirtualNW.o
g++ -I[PATH_REDACTED]/software/bamtools/include -I[PATH_REDACTED]/bamtools/src -ggdb -O2 -fopenmp -std=gnu++0x -fstack-protector-all GraphAlignerUnique/VirtualNWUnique.cpp -c -o ../obj/VirtualNWUnique.o
g++ -I[PATH_REDACTED]/bamtools/include -I[PATH_REDACTED]/bamtools/src -ggdb -O2 -fopenmp -std=gnu++0x -fstack-protector-all MHC-PRG.cpp -c -o ../obj/MHC-PRG.o;
g++ -I[PATH_REDACTED]/bamtools/include -I[PATH_REDACTED]/bamtools/src -ggdb -O2 -fopenmp -std=gnu++0x -fstack-protector-all ../obj/GenotypePanel.o ../obj/HaplotypePanel.o ../obj/Edge.o ../obj/Graph.o ../obj/LargeGraph.o ../obj/MultiGraph.o ../obj/HMM.o ../obj/MultiHMM.o ../obj/AlphaHMM.o ../obj/AlphaHMMlegacy.o ../obj/Node.o ../obj/NextGen.o ../obj/HLAtypes.o ../obj/simulationSuite.o ../obj/readSimulator.o ../obj/Validation.o ../obj/LocusCodeAllocation.o ../obj/LargeLocusCodeAllocation.o ../obj/Utilities.o ../obj/DeBruijnGraph.o ../obj/DeBruijnElement.o ../obj/basic.o ../obj/binarykMer.o ../obj/Hsh.o ../obj/GraphAligner.o ../obj/GraphAlignernonAffine.o ../obj/GraphAlignerAffine.o ../obj/GraphAlignerendsFree.o ../obj/GraphAlignerUnique.o ../obj/coveredIntervals.o ../obj/GraphAndEdgeIndex.o ../obj/UniqueAlignerTests.o ../obj/readFilter.o ../obj/filterLongOverlappingReads.o ../obj/GraphAndIndex.o ../obj/AlignerTests.o ../obj/VirtualNW.o ../obj/VirtualNWUnique.o ../obj/MHC-PRG.o -o ../bin/MHC-PRG -L[PATH_REDACTED]/boost_1_52_0/libs -L[PATH_REDACTED]/lib -lboost_random -lboost_system -lboost_filesystem -lboost_serialization -lbamtools;
../obj/readFilter.o: In function `getBAMregions(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
[PATH_REDACTED]/MHC-PRG/src/MHC-PRG/readFilter/readFilter.cpp:1271: undefined reference to `BamTools::BamReader::Open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
../obj/readFilter.o: In function `filterBAM(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::function<bool (fastq_readPair const&, bool)>*, std::function<void (fastq_readPair const&)>*, bool) [clone ._omp_fn.1]':
[PATH_REDACTED]/MHC-PRG/src/MHC-PRG/readFilter/readFilter.cpp:888: undefined reference to `BamTools::BamReader::GetReferenceID(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
../obj/readFilter.o: In function `filterBAM(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::function<bool (fastq_readPair const&, bool)>*, std::function<void (fastq_readPair const&)>*, bool)':
[PATH_REDACTED]/MHC-PRG/src/MHC-PRG/readFilter/readFilter.cpp:806: undefined reference to `BamTools::BamReader::Open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
[PATH_REDACTED]/MHC-PRG/src/MHC-PRG/readFilter/readFilter.cpp:829: undefined reference to `BamTools::BamReader::Open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
collect2: error: ld returned 1 exit status
make: *** [MHC-PRG] Error 1
I'm not very familiar with C++ libraries, so I'm a bit lost - any ideas as to what might be going on here?
Thank you!
It would be good to run the PacBio data available on NA12878 through the same pipeline as was done for the Moleculo data to verify findings. Data can be found at
ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/technical/working/20131209_na12878_pacbio/
i know that there's an updated software, but some may still use the command for extracting MHC reads here to hasten the pipeline. There's a zero missing from the start of the region defined in the command samtools view -F 4 -bo extract_xMHC.bam input.bam 6:2800000-34000000.
the region should be 6:28,000,000-34,000,000
Hello,
I would like to use MHC-PRG, but can’t seem to get step 4 --collect 3
working on the supplied AA02O9Q_Z2.bam
. The error occurs when running picard
at line 549 of nextGenInferenceVariGraph.pl
:
net.sf.picard.sam.SamToFastq INPUT=path/to/MHC-PRG/data/samples/BAMs/AA02O9Q_Z2.bam OUTPUT_PER_RG=true OUTPUT_DIR=/path/to/MHC-PRG/tmp/readReMapping/kMerCount__GS_nextGen_varigraph3_AA02O9Q_Z2_31_remapping/reads RE_REVERSE=true INCLUDE_NON_PF_READS=false READ1_TRIM=0 READ2_TRIM=0 INCLUDE_NON_PRIMARY_ALIGNMENTS=false VERBOSITY=INFO QUIET=false VALIDATION_STRINGENCY=STRICT COMPRESSION_LEVEL=5 MAX_RECORDS_IN_RAM=500000 CREATE_INDEX=false CREATE_MD5_FILE=false
Executing as ... on Linux 3.14.27 amd64; Java HotSpot(TM) 64-Bit Server VM 1.6.0_21-b06; Picard version: 1.83(1319)
net.sf.picard.sam.SamToFastq done. Elapsed time: 0.01 minutes.
Runtime.totalMemory()=2028273664
FAQ: http://sourceforge.net/apps/mediawiki/picard/index.php?title=Main_Page
Exception in thread "main" java.lang.NullPointerException
at net.sf.picard.sam.SamToFastq.doWork(SamToFastq.java:148)
at net.sf.picard.cmdline.CommandLineProgram.instanceMain(CommandLineProgram.java:177)
at net.sf.picard.sam.SamToFastq.main(SamToFastq.java:119)
PICARD extraction command java -Xmx2g -jar path/to/picard-tools-1.83/SamToFastq.jar INPUT=path/to/MHC-PRG/data/samples/BAMs/AA02O9Q_Z2.bam OUTPUT_PER_RG=TRUE OUTPUT_DIR=path/to/MHC-PRG/tmp/readReMapping//kMerCount__GS_nextGen_varigraph3_AA02O9Q_Z2_31_remapping/reads/ failed at path/to/MHC-PRG/src/nextGenInferenceVariGraph.pl line 559.
I have picard v 1.83
installed as noted in the README
.
Looking at AA02O9Q_Z2.bam
, there don’t seem to be any read groups listed when using samtools view -H
—could this be causing an issue since the picard
command requires the OUTPUT_PER_RG=TRUE
option?
I’m going to try again with the latest version of picard
(2.1.1), but wanted to check with you in case you were aware of this issue and had any advice.
Thank you,
Heather
Provide explicit details about how to apply for the CS1-6 samples from GSK on site
Hi Alex,
I tried both GCC 4.7.2 and GCC 5.2.0 to install MHC*PRG, but both stopped at the following stage:
g++ -I/${boostpath}/boost_1.52.0/ -IGraph -I/path/bamtools/include -I/${bamtoolspath}/bamtools/src -ggdb -O2 -fopenmp -std=gnu++0x -fstack-protector-all ../obj/GenotypePanel.o ../obj/HaplotypePanel.o ../obj/Edge.o ../obj/Graph.o ../obj/LargeGraph.o ../obj/MultiGraph.o ../obj/HMM.o ../obj/MultiHMM.o ../obj/AlphaHMM.o ../obj/AlphaHMMlegacy.o ../obj/Node.o ../obj/NextGen.o ../obj/HLAtypes.o ../obj/simulationSuite.o ../obj/readSimulator.o ../obj/Validation.o ../obj/LocusCodeAllocation.o ../obj/LargeLocusCodeAllocation.o ../obj/Utilities.o ../obj/DeBruijnGraph.o ../obj/DeBruijnElement.o ../obj/basic.o ../obj/binarykMer.o ../obj/Hsh.o ../obj/GraphAligner.o ../obj/GraphAlignernonAffine.o ../obj/GraphAlignerAffine.o ../obj/GraphAlignerendsFree.o ../obj/GraphAlignerUnique.o ../obj/coveredIntervals.o ../obj/GraphAndEdgeIndex.o ../obj/UniqueAlignerTests.o ../obj/readFilter.o ../obj/filterLongOverlappingReads.o ../obj/GraphAndIndex.o ../obj/AlignerTests.o ../obj/VirtualNW.o ../obj/VirtualNWUnique.o ../obj/MHC-PRG.o -o ../bin/MHC-PRG /${boostpath}/boost_1.52.0/lib/libboost_random.so /${boostpath}/boost_1.52.0/lib/libboost_filesystem.so /${boostpath}/boost_1.52.0/lib/libboost_system.so /${bamtoolspath}/bamtools/lib/libbamtools.so /{bamtoolspath}/bamtools/lib/libbamtools-utils.a /${ziplibpath}/zlib_1.2.8/lib/libz.a;
*With the following error:
*
../obj/readFilter.o: In function getBAMregions(std::string)': readFilter/readFilter.cpp:1265: undefined reference to
BamTools::BamReader::Open(std::string const&)'
../obj/readFilter.o: In function filterBAM(int, std::string, std::string, std::string, std::function<bool (fastq_readPair const&, bool)>*, std::function<void (fastq_readPair const&)>*, bool) [clone ._omp_fn.0]': /readFilter/readFilter.cpp:888: undefined reference to
BamTools::BamReader::GetReferenceID(std::string const&) const'
../obj/readFilter.o: In function filterBAM(int, std::string, std::string, std::string, std::function<bool (fastq_readPair const&, bool)>*, std::function<void (fastq_readPair const&)>*, bool)': readFilter/readFilter.cpp:806: undefined reference to
BamTools::BamReader::Open(std::string const&)'
readFilter/readFilter.cpp:829: undefined reference to `BamTools::BamReader::Open(std::string const&)'
collect2: error: ld returned 1 exit status
I'm not familiar with c libraries, any suggestion?
Many thanks!
Hi,
I am trying to test out the tool and just starting out with one of the Illumina Platinum genome (NA12878). I didnt want to run on the full wgs so I followed the exact commands in "Speeding up read extraction" section for extracting reads that mapped to MHC regions and unmapped reads.
It loads the reference genome then it runs into an error and quit.
Could you please provide help? Thank you.
./HLAtypeinference.pl --actions pnai --sampleIDs NA12878 --BAMS NA12878.extract.bam --referenceGenome GRCh37/hs37d5.fa
Now executing command:
../bin/MHC-PRG domode filterReads --input_BAM NA12878.extract.bam --positiveFilter ../tmp2/GS_nextGen/hla/requiredkMers_graph.txt.kmers_25 --output_FASTQ ../tmp/hla/NA12878/reads.p --threads 1 --referenceGenome GRCh37/hs37d5.fa
[ Tue Dec 20 01:36:56 2016 ] readFilter::doFilter(..)
positiveFilter: ../tmp2/GS_nextGen/hla/requiredkMers_graph.txt.kmers_25
negativeFilter:
input_BAM: NA12878.extract.bam
input_FASTQ:
positiveUnique: 0
negativePreserveUnique: 0
uniqueness_base:
uniqueness_subtract:
threads: 1
[ Tue Dec 20 01:36:56 2016 ] Load file ../tmp2/GS_nextGen/hla/requiredkMers_graph.txt.kmers_25
[ Tue Dec 20 01:36:57 2016 ] Filter BAM: NA12878.extract.bam
T: 0
[ Tue Dec 20 01:36:57 2016 ] Read reference genome.
[ Tue Dec 20 01:37:27 2016 ] done.
Limit to chromosome 6: 0
[ Tue Dec 20 01:37:27 2016 ] T 0 read 6 from 0 to 171115067
There is a problem with the read IDs in this BAM.
Read ID: HSQ1004:134:C0D8DACXX:3:2301:19984:110302 / HSQ1004:134:C0D8DACXX:3:2301:19984:110302/1
whichMate: 1
thisPair.have1: 1 with ID HSQ1004:134:C0D8DACXX:3:2301:19984:110302/1
thisPair.have2: 0 with ID
MHC-PRG: readFilter/readFilter.cpp:1153: void filterBAM(int, std::string, std::string, std::string, std::function<bool(const fastq_readPair&, bool)>, std::function<void(const fastq_readPair&)>, bool): Assertion `success' failed.
Command ../bin/MHC-PRG domode filterReads --input_BAM NA12878.extract.bam --positiveFilter ../tmp2/GS_nextGen/hla/requiredkMers_graph.txt.kmers_25 --output_FASTQ ../tmp/hla/NA12878/reads.p --threads 1 --referenceGenome GRCh37/hs37d5.fa failed at ./HLAtypeinference.pl line 284.
Hi there,
I'm attempting to install this software in our environment, but the version of bamtools in your readme doesn't provide libbamtools-utils.so - I can find libbamtools-utils.a, but this causes a linking error later in the build process:
g++ -I/usr/lib64 -IGraph -I/u5/tools/include/bamtools/include -I/u5/tools/src/bamtools/src -ggdb -O2 -fopenmp -std=gnu++0x -fstack-protector-all ../obj/GenotypePanel.o ../obj/HaplotypePanel.o ../obj/Edge.o ../obj/Graph.o ../obj/LargeGraph.o ../obj/MultiGraph.o ../obj/HMM.o ../obj/MultiHMM.o ../obj/AlphaHMM.o ../obj/AlphaHMMlegacy.o ../obj/Node.o ../obj/NextGen.o ../obj/HLAtypes.o ../obj/simulationSuite.o ../obj/readSimulator.o ../obj/Validation.o ../obj/LocusCodeAllocation.o ../obj/LargeLocusCodeAllocation.o ../obj/Utilities.o ../obj/DeBruijnGraph.o ../obj/DeBruijnElement.o ../obj/basic.o ../obj/binarykMer.o ../obj/Hsh.o ../obj/GraphAligner.o ../obj/GraphAlignernonAffine.o ../obj/GraphAlignerAffine.o ../obj/GraphAlignerendsFree.o ../obj/GraphAlignerUnique.o ../obj/coveredIntervals.o ../obj/GraphAndEdgeIndex.o ../obj/UniqueAlignerTests.o ../obj/readFilter.o ../obj/filterLongOverlappingReads.o ../obj/GraphAndIndex.o ../obj/AlignerTests.o ../obj/VirtualNW.o ../obj/VirtualNWUnique.o ../obj/MHC-PRG.o -o ../bin/MHC-PRG /u5/tools/lib64/libboost_random.so /u5/tools/lib64/libboost_filesystem.so /u5/tools/lib64/libboost_filesystem-mt.so /u5/tools/lib64/libboost_system.so /u5/tools/lib/bamtools/libbamtools.a /u5/tools/lib/bamtools/libbamtools-utils.a /u5/tools/lib/libz.a;
../obj/Utilities.o: In function Utilities::directoryExists(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)': /u5/tools/include/boost/filesystem/operations.hpp:446: undefined reference to
boost::filesystem::detail::status(boost::filesystem::path const&, boost::system::error_code*)'
/u5/tools/include/boost/filesystem/operations.hpp:451: undefined reference to boost::filesystem::detail::status(boost::filesystem::path const&, boost::system::error_code*)' ../obj/Utilities.o: In function
Utilities::makeDir(std::__cxx11::basic_string<char, std::char_traits, std::allocator >)':
/u5/tools/include/boost/filesystem/operations.hpp:572: undefined reference to boost::filesystem::detail::create_directory(boost::filesystem::path const&, boost::system::error_code*)' ../obj/readFilter.o: In function
getBAMregions(std::__cxx11::basic_string<char, std::char_traits, std::allocator >)':
/u5/tools/src/MHC-PRG/MHC-PRG/src/readFilter/readFilter.cpp:1265: undefined reference to BamTools::BamReader::Open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' ../obj/readFilter.o: In function
_Z9filterBAMiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_S4_PSt8functionIFbRK14fastq_readPairbEEPS5_IFvS8_EEb._omp_fn.1':
/u5/tools/src/MHC-PRG/MHC-PRG/src/readFilter/readFilter.cpp:888: undefined reference to BamTools::BamReader::GetReferenceID(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const' ../obj/readFilter.o: In function
filterBAM(int, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::function<bool ()(fastq_readPair const&, bool)>, std::function<void ()(fastq_readPair const&)>, bool)':
/u5/tools/src/MHC-PRG/MHC-PRG/src/readFilter/readFilter.cpp:806: undefined reference to BamTools::BamReader::Open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /u5/tools/src/MHC-PRG/MHC-PRG/src/readFilter/readFilter.cpp:829: undefined reference to
BamTools::BamReader::Open(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)'
collect2: error: ld returned 1 exit status
make: *** [MHC-PRG] Error 1
Should I use a more recent commit of bamtools or is there another solution you'd suggest?
Thanks,
Denise
Is it OK to run MHC-PRG with GRCh38 such as Ensembl GRCh38.81?
Can we use the data package of GRCh37 , or should we create the data package for GRCh38?
1)mhc_ref_8_haplotypes/pgf_ref.fasta
extract from chr6?
2)mhc_ref_8_haplotypes/alignment/all_aligned.fasta
extract from GRCh38 ALT contigs?
CHR_HSCHR6_MHC_APD_CTG1
CHR_HSCHR6_MHC_COX_CTG1
CHR_HSCHR6_MHC_DBB_CTG1
CHR_HSCHR6_MHC_MANN_CTG1
CHR_HSCHR6_MHC_MCF_CTG1
CHR_HSCHR6_MHC_QBL_CTG1
CHR_HSCHR6_MHC_SSTO_CTG1
3)segments.txt/positions.txt
how to build them?
from ftp://ftp.ebi.ac.uk/pub/databases/ipd/imgt/hla/alignments/?
Hi Alex,
Thanks so much for being so responsive to users, and for answering my question on Twitter. I'm having trouble with compiling the program. I'm using gcc 5.1, boost 1.59, and the bamtools version recommended in the README. When I do 'make all' I receive the following error:
gcc -xc++ -lstdc++ -shared-libgcc -I/home/mdu2002/boost-1.59.0/ -IGraph -I/home/mdu2002/bamtools/include -I/home/mdu2002/bamtools/src -ggdb -O2 -fopenmp -std=gnu++0x -fstack-protector-all NextGen/readSimulator.cpp -c -o ../obj/readSimulator.o
NextGen/readSimulator.cpp:22:42: fatal error: boost/random/random_device.hpp: No such file or directory
#include <boost/random/random_device.hpp>
^
compilation terminated.
make: *** [../obj/readSimulator.o] Error 1
I've checked my installation of boost, and the file random_device.hpp is exactly where it should be, so I'm not sure what the underlying issue is. Any insight would be greatly appreciated.
Dear Alexander,
Thank you for making this interesting program.
I meet this following error when I try to compile it:
...
In file included from readFilter/readFilter.cpp:8:0:
readFilter/readFilter.h:19:30: fatal error: api/BamAlignment.h: No such file or directory
#include "api/BamAlignment.h"
^
compilation terminated.
make: *** [../obj/readFilter.o] Error 1
May I ask how can I fix this problem?
Yours,
Mengyao
Hi Alex,
I'm planning to apply HLA_PRG on a set of WGS samples in CRAM format. Does the current version of HLA_PRG support CRAM files?
Many thanks,
Yang
Hello Alexander,
Please consider fixing the hard-coded paths, such as:
main] Real time: 0.436 sec; CPU: 0.024 sec
terminate called after throwing an instance of 'std::runtime_error'
what(): Utilities::findFileFromAlternatives(): No alternative present from C:/Users/AlexanderDilthey/bowtie2-2.2.8, /home/dilthey/bowtie2-2.2.8
Thank you,
Andrew
Hello again,
I've compared the vcf file I obtained from running --collect 3
on the sample bam to the vcf from the paper (MHC/paper/kMerCount__GS_nextGen_varigraph3_AA02O9Q_Z2_31_required.binaryCount.amendedHaplotypes.VCF
) and noticed they are quite different.
vcftools --vcf my-sample.vcf --diff paper-sample.vcf --diff-site-discordance --out mine-vs-paper
After filtering, kept 1 out of 1 Individuals
Outputting Discordance By Site...
Non-matching REF. Skipping all such sites.
Found 11156 sites common to both files.
Found 0 sites only in main file.
Found 4714997 sites only in second file.
After filtering, kept 32249 out of a possible 32249 Sites
Run Time = 39.00 seconds
paper-sample.vcf
has an entry for every position, and most are homozygous for the reference:
grep "0/0" paper-sample.vcf | wc -l
4596021
whereas my-sample.vcf
does not:
grep "0/0" my-sample.vcf | wc -l
0
This accounts for some of the difference. I removed those entries and compared again:
grep -v "0/0" paper-sample.vcf > paper-sample-no-ref.vcf
vcftools --vcf my-sample.vcf --diff paper-sample-no-ref.vcf --diff-site-discordance --out mine-vs-paper-no-ref
After filtering, kept 1 out of 1 Individuals
Outputting Discordance By Site...
Non-matching REF. Skipping all such sites.
Found 10427 sites common to both files.
Found 21332 sites only in main file.
Found 140308 sites only in second file.
After filtering, kept 32249 out of a possible 32249 Sites
Run Time = 2.00 seconds
Any idea why they're so different?
And to clarify, after --collect 3
has been run, the following is included in the output:
MHC-PRG/bin/MHC-PRG domode nextGenInference MHC-PRG/tmp2/GS_nextGen/varigraph3/graph.txt.kmers_31 MHC-PRG/tmp2/GS_nextGen/varigraph3/graph.txt.kmers_31.kMersReferenceCorrected MHC-PRG/tmp/kMerCount__GS_nextGen_varigraph3_AA02O9Q_Z2_31_required.binaryCount --labelonly --genotypingMode 8
The same output is obtained after running --collect 2viterbi
. It is also the same command given as output after the very first step (./nextGenInferenceVariGraph.pl --graph ../tmp2/GS_nextGen/varigraph3 --sample AA02O9Q_Z2 --kmer 31
). Are you supposed to run this command again, and run it twice if you do both --collect 2viterbi
and --collect 3
? I tried it after --collect 3
, and some files seemed to have updated:
kMerCount__GS_nextGen_varigraph3_AA02O9Q_Z2_31_required.binaryCount.haplotypes
kMerCount__GS_nextGen_varigraph3_AA02O9Q_Z2_31_required.binaryCount.inference
kMerCount__GS_nextGen_varigraph3_AA02O9Q_Z2_31_required.binaryCount.viterbiGenomeString
kMerCount__GS_nextGen_varigraph3_AA02O9Q_Z2_31_required.binaryCount.viterbiHaplotypes
but not the ammendedHaplotypes
files originally generated after running --collect 3
.
Thanks
Hi Alex, how can I generate pseduo allele sequence from the reference graph and call variants based on the aligned reads?
I don't know how to interpret the allele clusters reported in R1_bestguess.txt. Does it mean each allele is equally likely or does it mean the most likely allele contains all the variants in the allele cluster?
Also could you please provide some notes on the content/structure of R1_pileup_$LOCUS.txt and reads.p.n.aligned
Thanks a lot!
Zam to draft a figure for the discussion showing how we can separate out future activity relating to PRGs (e.g. read-mapping, HMMS, etc.)
Hello,
I'm trying to use MHC-PRG and I have a warning in the end of the process that I don't understand. I have also a second output file called R1_bestguess_G.txt. Could you please help me to understand the error mesage (and to fix it), and to explain me what's this second bestguess file ?
Thank you
Fabienne
Warning: Can't G-translate: A01:52N; have only things like A01:01:01:01Warning: Can't G-translate: A01:67; have only things like A01:01:01:01Warning: Can't G-translate: A02:02; have only things like A01:01:01:01Warning: Can't G-translate: A02:06:01; have only things like A01:01:01:01Warning: Can't G-translate: A02:113N; have only things like A01:01:01:01Warning: Can't G-translate: A02:153; have only things like A01:01:01:01Warning: Can't G-translate: A02:157; have only things like A01:01:01:01Warning: Can't G-translate: A02:289; have only things like A01:01:01:01Warning: Can't G-translate: A02:64; have only things like A01:01:01:01Warning: Can't G-translate: A03:154; have only things like A01:01:01:01Warning: Can't G-translate: A03:157; have only things like A01:01:01:01Warning: Can't G-translate: A03:44; have only things like A01:01:01:01Warning: Can't G-translate: A*
Hi,
I am testing HLAPRG for benchmarking and I noticed your hla_nom_g file is from 3.24.0 release however, your rearragned files containing allele sequences (mostly contained in tmp2/GS_nextGen/hla ?) are missing some alleles. My guess is that HLAPRG actually uses earlier release than 3.24.0. If so, what version is it? Thank you!
@AlexanderDilthey
We should provide (though not sure how) the alignment of Moleculo reads to the chromotypes
Hi,
I am currently running the HLA typing software portion of the MHC-PRG package. I set up the commands as described in the github descriptions however when I ran the program, I received this error:
MHC-PRG/20160217/MHC-PRG/tmp/hla/SAMPLEID does not seem to be indexed - please specify indexed BAM!
My BAM's are currently located in the SAMPLEID directory and they are indexed (there is both a bam and bam.bai folder located within).
Do you know what is potentially going wrong?
Thanks,
Marcus
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.