Friday, January 24, 2014

Journal Club: Reporting new genome sequences

Journal club is back in session.

This week's paper: An atlas of over 90,000 conserved noncoding sequences provides insight into crucifer regulatory regions by Haudry et al. (2013). 

I guess papers on straight genome sequences can't get published anymore, perhaps rightfully so. However, in this case, I think the availability of the genome sequences the authors obtained will be more useful than the analyses they performed.

My comment:
I think the important contribution of the paper are the new plant genome sequences, but it seemed that the authors tried to sell it as though the collection of conserved non-coding sequences were the important contribution. I didn't think the analyses were particularly novel, nor were the findings, but I suspect the new genome sequences will be useful for the field.

JC: Bud's buds

An atlas of over 90,000 conserved noncoding sequences provides insight into crucifer regulatory regions by Haudry et al. (2013). 

My comment:
Conserved noncoding sequences are interesting because they reveal something about selection. In this comparitive case though I'm more interested in what distinguishes these genomes. In particular, this vague connection that the authors allude to that the candidate for differential genome size is transposable elements. And, I guess on a telelogical level, it's like what is their purpose!?

Also, can these crucifer species be crossed to another? Can A thaliana and A. lyrata (it says they are congeners)?

Thursday, January 16, 2014

NTFS permissions and mounting (Ubuntu 12.04)

We have a workstation with multiple hard drives formatted with ntfs file systems to allow them to play nicely with Windows. Those file systems gave me issues when trying to allow multiple users to access them from Ubuntu.

Mounting from nautilus only allowed the current user to access it, and I don't think that the ntfs file system can have its permissions changed via chmod or chgrp after it has been mounted. What ended up working (for the most part) was suggested here. In this solution, the file system is mounted with the designated permissions using mount's fmask and dmask options for an ntfs file system.

First I needed to add the necessary users to a group that could access the drives; here I added them to the existing group plugdev
id username

sudo usermod -a -G plugdev username

id username
I made a directory in /media to hold the file system:
sudo mkdir /media/DATAPART1
And then I mounted the drive, which was at /dev/sdb1 (which I located using gParted). In this case, plugdev is group id 46, and this gives full permissions to the user and group (which becomes root and plugdev, respectively).
sudo mount -t ntfs -o gid=46,fmask=0003,dmask=0002 /dev/sdb1 /media/DATAPART1
Unfortunately, I couldn't work out how to execute a file on the mounted file system without giving execution permissions on ALL files; thus every non-directory file ends up the color of an executable with this method. I also couldn't work out how to enable the sticky bit for files to protect one user's files from being deleted by another user.

Sources:
https://help.ubuntu.com/community/InstallingANewHardDrive
http://www.cyberciti.biz/faq/ubuntu-add-user-to-group/
http://askubuntu.com/questions/11840/how-to-chmod-on-an-ntfs-or-fat32-partition
http://linux.die.net/man/8/mount
http://en.wikipedia.org/wiki/File_system_permissions
http://en.wikipedia.org/wiki/Chmod
http://en.wikipedia.org/wiki/Umask
http://ubuntuforums.org/showthread.php?t=1453342
http://unix.stackexchange.com/questions/110256/cant-apply-chmod-to-a-file/110300#110300

Thursday, January 9, 2014

Compile svmvia (g++ 4.7.2-1ubuntu1)

I'm looking into some work with support vector machines (SVMs), and I ran into some errors when trying to compile svmvia from source. I think the error occurs because some compilers implicitly include certain files at compile time, but I'm not sure.

g++ 4.7.2 complained that "'strcmp' was not declared in this scope", and "'rand' was not declared in this scope". This was resolved by adding the following includes to their respective files; cstring contains strcmp and cstdlib contains rand.

Add to mainVia.cpp:
#include <cstring>
Add to basic.cpp:
#include <cstdlib>
Add to smo.cpp:
#include <cstdlib>

Monday, January 6, 2014

Bash: for loop; loop through files; remove path and suffix from file names

Credit for the bash for loop goes here: http://www.cyberciti.biz/faq/bash-for-loop/
Credit for the suffix and prefix modifications goes here: http://stackoverflow.com/questions/125281/how-do-i-remove-the-file-suffix-and-path-portion-from-a-path-string-in-bash

Loop through a series of numbers:
#!/bin/bash

for int in 1 2 3 4
do
   echo $int
done
Loop through a series of files and modify the file name; see the Stack Overflow link above for a few more options:
#!/bin/bash

files=pathToFiles/*.tsv

for file in $files
do
   echo $file
   SUFFIX=${file%.*}
   echo $SUFFIX
   NEWNAME=${SUFFIX##*/}.txt
   echo $NEWNAME
done