Autarchy of the Private Cave

Tiny bits of bioinformatics, [web-]programming etc

    • Archives

    • Recent comments

    Archive for the 'Science' Category

    Introduction to Python for bioinformatics

    25th February 2011

    This overview presentation is two years old, but still a highly valuable resource: modules and tools mentioned are alive and useful.
    I think this is the second presentation by Giovanni I’m embedding (first one being about GNU/make for bioinformatics).

    Share

    Posted in Bioinformatics, Links, Python, Software | No Comments »

    How to replace newlines with commas, tabs etc (merge lines)

    16th November 2010

    Imagine you need to get a few lines from a group of files with missing identifier mappings. I have a bunch of files with content similar to this one:

    ENSRNOG00000018677 1368832_at 25233
    ENSRNOG00000002079 1369102_at 25272
    ENSRNOG00000043451 25353
    ENSRNOG00000001527 1388013_at 25408
    ENSRNOG00000007390 1389538_at 25493

    In the example above I need ’25353′, which does not have corresponding affy_probeset_id in the 2nd column.

    It is clear how to do that:

    1. sort -u *_affy_ensembl.txt | grep -v '_at' | awk '{print $2}'

    This outputs a column of required IDs (EntrezGene in this example):

    116720
    679845
    309295
    364867
    298220
    298221
    25353

    However, I need these IDs as a comma-separated list, not as newline-separated list.

    There are several ways to achieve the desired result (only the last pipe commands differ):

    1. sort -u *_affy_ensembl.txt | grep -v '_at' | awk '{print $2}' | gawk '$1=$1' ORS=', '
    1. sort -u *_affy_ensembl.txt | grep -v '_at' | awk '{print $2}' | tr '\n' ','
    1. sort -u *_affy_ensembl.txt | grep -v '_at' | awk '{print $2}' | sed ':a;N;$!ba;s/\n/, /g'
    1. sort -u *_affy_ensembl.txt | grep -v '_at' | awk '{print $2}' | sed ':q;N;s/\n/, /g;t q'
    1. sort -u *_affy_ensembl.txt | grep -v '_at' | awk '{print $2}' | paste -s -d ","

    These solutions differ in efficiency and (slightly) in output. sed will read all the input into its buffer to replace newlines with other separators, so it might not be best for large files. tr might be the most efficient, but I haven’t tested that. paste will re-use delimiters, so you cannot really get comma-space “, ” separation with it.

    Sources: linuxquestions 1 (explains used sed commands), linuxquestions 2, nixcraft.

    Share

    Posted in *nix, Bioinformatics, how-to, Notepad, Software | 2 Comments »

    Overlaying gene expression data onto pathways from databases

    5th November 2010

    Superimposing gene expression data onto pathways from databases is a common task in the final steps of microarray data analysis – that is, biological interpretation and results discussion.

    I have found many tools which claim to facilitate this procedure. Some of them are reviewed below (in no specific order).
    Read the rest of this entry »

    Share

    Posted in Bioinformatics, Links, Software | No Comments »

    Batch-retrieve EntrezGene homologs using NCBI’s HomoloGene and R’s annotationTools

    27th October 2010

    1. Install the annotationTools R package:
      source(“http://bioconductor.org/biocLite.R”)
      biocLite(“annotationTools”)
    2. Download full HomoloGene data file from ftp://ftp.ncbi.nlm.nih.gov/pub/HomoloGene/current
    3. library(annotationTools)
    4. homologene = read.delim(“homologene.data”, header=FALSE)
    5. mygenes = read.table(“file with one entrez ID of the source organism per line.txt”)
    6. getHOMOLOG(unlist(mygenes), taxonomy_ID_of_target_organism, homologene) [alternatively, wrap the call to getHOMOLOG into unlist to get a vector]

    It might be easier to achieve the same results with a Perl script calling NCBI’s e-utils.

    Share

    Posted in Bioinformatics, how-to, Notepad | 2 Comments »

    International salary survey in sciences (2010)

    14th October 2010

    Nature published the said survey based on responses of over 10000 employees in science. It has lots of multi-axis data to explore, and some major trends are discussed in the special report. Highly recommended for anyone considering science career changes.

    Share

    Posted in Links, Science | No Comments »

    Tools for conversion of IDs in genomics

    10th August 2010

    Tools for conversion of IDs in genomics

    Share

    Posted in Bioinformatics, Links, Science | No Comments »

    Вірний переклад українською терміну microarray (post in Ukrainian)

    26th May 2010

    Викладену нижче власну позицію вважаю найправильнішою (і використовую з 2007 року).

    Префікс мікро в українській мові є, і позначає певну кратність (10-6) числової величини (а також просто щось маленьке) – тому його можна зберегти при перекладі першої половини складного слова microarray. Цей префікс також входить до системи одиниць СІ.

    А от слова арей (як вживають деякі автори) в українській мові немає. Також немає сенсу його запозичувати, оскільки існують переклади (слова-еквіваленти). Один зі словників пропонує такі варіанти перекладу слова array українською (у різних контекстах):

    • множина, набір, комплект
    • розташування, решітка, сітка
    • масив, список, поле, ряд
    • решітка даних
    • масив даних
    • матриця

    Я пропоную використовувати термін мікромасив (та похідний від нього мікромасив-експеримент). Цей термін має перевагу над вживаним у Російській Федерації “микрочип-экспериментом”, оскільки “мікрочіп” або просто “чіп” – це усталений термін електроніки, де він позначає кремнієвий електронний елемент з високим ступенем упаковки напівпровідників; натомість “масив” – це і набір/список [даних], и [двомірна] матриця [даних/ознак/зондів/будь-чого]. Відповідно, мікромасив – це маленька матриця або маленький набір [олігонуклеотидних/кДНК зондів]. Додатковим аргументом проти використання слова чіп вважаю його запозиченість.

    Використання інших варіантів перекладу слова array або не відповідає суті об’єкту, або має неоднозначне трактування. Наприклад, мікроматриця: в молекулярній біології матриця – це ланцюг ДНК, з якого іде синтез, а в ширшому значенні – взагалі будь-яка модель, з якої виготовляють зразки. (Звичайно, слово матриця також є синонімом слова масив у значенні двомірний масив / двомірна матриця, але слово масив не має – наскільки мені відомо – альтернативних трактувань у молекулярній біології). Розглядати інші варіанти перекладу слова array не вважаю за потрібне, оскільки вони ще менш вдалі за матрицю.

    Таким чином, вірним перекладом терміну microarray є слово мікромасив.

    Share

    Posted in Misc, Science, Ukraine | No Comments »