using MXNet with R and Julia
MXNet with R
I couldn’t install pre-built binary package, the pre-built binary package is avaliable for Windows and Mac users.
So we need build the R package first when we try to install it. Just follow the R package install guide for linux user.
I successful install the package.
If you find this error message when you try to install dependencies of R package.
../inst/include/CImg.h:368:19: fatal error: fftw3.h: No such file or directory
Try install fftw-devel
dnf install fftw-devel
MXNet with Julia
To install mxnet.jl, you may face the same problem as install MXNet on Fedora.
LoadError: Provider BinDeps.PackageManager failed to satisty dependency cblas
If you already copy libsatlas or libtatlas to /usr/lib64/.
I suggest you make a soft link as below:
ln -s /usr/lib64/libsatlas.so.3 /usr/lib64/libcblas.so
Then try Pkg.rm
and Pkg.add
again.
If you install MXNet in local environment, and julia can not find header files, to installing mxnet.jl would re-install the mxnet in the .julia folder.
How to install MXNet on Fedora
The Offical Installation Guide has not mentioned any instruction about how to install MXNet on Fedora/RedHat/CentOS.
This is because some dependencies library names are different compared to Ubuntu/Debian.
I installed MXNet successfully on Fedora 23 and wrote the guide to help me remember the installation steps.
1.Install dependencies
dnf install opencv-devel atlas-devel
# make sure /usr/bin/ld can find these library
cp /usr/lib64/atlas/* /lib64/
You may also need to install gcc, git and other build tools
2.change the compilation command
If you follow the Official Guide, you may get an error when doing ‘make’ files.
/usr/bin/ld: cannot find -lcblas
This is because names and content of atlas libraries have changed.
chemal:
Names and content of atlas libraries have changed recently. Try
-L/usr/lib64/atlas -lsatlas or -L/usr/lib64/atlas -ltatlas
instead of -lcblas.
So, We need change the complication command from -lcblas
to -lsatlas
or -ltatlas
at mshadow/make/mshadow.mk, line 57
For me, I use -lsatlas
:
MSHADOW_LDFLAGS += -lsatlas
3.make -j4
Then you can make files successfully.
4.Try Python version with CPU
I try using example/neural-style/run.py to draw a picture.
First, run download.sh to download the model and input files.
The script need import kitimage package.
pip install scikit-image
Install Python package as the guide mentioned.
I always install package system-widely, which requires root permission.
cd python; sudo python setup.py install
export PYTHONPATH=~/mxnet/python
Finally, run command
python run.py --content-image input/1.jpg --style-image input/starry_night.jpg --gpu -1 ##using CPU
You can get a neural style image. I post the SDTOUT INFO at gist.
Linear, Chimeric, Supplementary, Primary and Secondary Alignments
What is the difference between the title mentaioned alignment reads?
Linear Alignment: An alignment of a read to a single reference sequence that may include insertions,
deletions, skips and clipping
, but may not include direction changes (i.e. one portion of the alignment
on forward strand and another portion of alignment on reverse strand). 1
Chimeric Alignment: An alignment of a read that cannot be represented as a linear alignment. Typically, one of the linear alignments in a chimeric alignment is considered the “representative” alignment, and the others are called “supplementary” and are distinguished by the supplementary alignment flag. 1
Chimeric reads are indicative of structural variation in DNA-seq and it may indicate the presence of chimeric genes in RNA-seq. 2
In short, chimeric reads can be split in to two or more parts, each part would be mapped to reference(it’s not hard-clipped), the total length of the mapped part is longger than read length. 3
Representative alignment: A chimeric alignment that is represented as a set of linear alignments that do not have large overlaps typically has one linear alignment that is considered the representative alignment. 4
I don’t understand representative alignment with the word “representative” in my mother tongue and could not find more information(figure) about it.
One read can align to multiple positions, we can find one alignmnet position which sequence do not have large overlaps, it called representative alighment, for other alignment positions, we called them supplementary alignment.
It seems that GATK can realignment those representative reads to the correctly position via RealignerTargetCreator and IndelRealigner
. (WARNING: I am not quite sure if I understand this correctly. If someone could help me, please leave me a message below, thanks, thanks.)
Supplementary Alignment: A chimeric reads but not a representative reads.
Primary Alignment and Secondary Alignment: A read may map ambiguously to multiple locations, e.g. due to repeats. Only one of the multiple read alignments is considered primary, and this decision may be arbitrary. All other alignments have the secondary alignment flag. 5
How to filter those reads?
I usually use samtools to filter those reads. Picard tools website provide a online SAM flags explaination tool.
Using samtools view -f/-F
command can filter
/filter out
the reads with specific flags.
Reference:
GATK best practices
Each year, GATK group give several talks about the best practice of calling SNP/Indel and other things about GATK.
We can download the slides from https://www.broadinstitute.org/gatk/events/slides/.
Just enjoy!
Error in saveGIF() and im.convert() in animation package
There is a bug at the latest version of animation package, im.convert()
can not generate gif under some OS.
The problem is that R cannot find the executable file of convert
.
We fix it a few days ago,you can see the issue report at here.
I test it under Vista, Windows7, Fedora. Removing the extra quotes also help saveGIF()
generate the gif.
Some isssue reports like Problem with saveGIF
on Windows and Removing excess shQuote in im.convert for Windows are associated with this problem.
I write the post and want to find some one can help us to test if the saveGIF()
works well under Windows.
Here is the test code.
library(devtools)
dev_mode(on=T)
install.packages('animation', repos = 'http://yihui.name/xran')
library(animation)
saveGIF({
for (i in 1:10) plot(runif(10), ylim = 0:1)
})
dev_mode(on=F)
If you find any other problem when using the development version, please leave us a message at github.