HTML

Az élet kódjai

Csináld maga. Senki nem csinálja meg helyetted.

Friss topikok

CLC parancssorból

2011.09.28. 10:07 Travis.CG

A klikkelős programokkal az egyik alapvető problémám, hogy csak nagyon ritka esetben nyújtanak segítséget az ismétlődő feladatok leeegyszerűsítésére. Emlékszem, még a win 3.1-ben voltak makrók, amelyekkel több-kevesebb sikerrel lehetett felvételeket készíteni tevékenységünkről, majd visszajátszani. A módszer sikertelenségét jól mutatja, hogy ez az eszköz már nem része az újabb rendszereknek.

A különböző makronyelvek és azok programba/szkriptbe szervezése ellenben virágzik, gondoljunk csak a Blenderre, amiről már röviden írtam. A bioinformatikában különösen fontos, hogy több adattal dolgozzunk. Ritkán van olyan szerencsénk, hogy egy mintát kell elemeznünk. A folyamatok automatizálása ezért létkérdés.

A CLC is felismerte, hogy hiába a könnyű kezelhetőség, a szupergyors algoritmusok, ha egyszer a felhasználó klikkelési sebessége limitálja az adatfeldolgozás hosszát. Ezért a CLC Server kapott egy parancssoros, jelenleg béta állapotú felületet. Mivel bétáról van szó, lehetnek eltérések az itt leírtakhoz képest.

Használat

A parancssor egyetlen Java alapú program, ami a clcserver nevet kapta. Az összes programozói eszközt az operációs rendszer parancsértelmezője adja, ami az itt bemutatott példáknál egy Linuxos Bash lesz. Érdemes megemlíteni egy másik programot is, a clcresultparser-t, ami a program által visszaadott szöveges eredményt dolgozza fel. Ha elég erőt érzünk magunkban, helyettesíthetjük egy grep-el.

A program működéséhez indítsuk el a CLC Servert:

>CLCGenomicsServer start

Most már nyugodtan használhatjuk a szkriptjeinket.

Kötelező argumentumok

Az első kényelmetlenség, hogy minden egyes parancs kiadásához négy állandó paraméter kell. Mivel szerverről van szó, ez a szerver URL-je (-S), a port (-P), felhasználó név (-U), jelszó (-W).

>clcserver -S localhost -P 1234 -U user -W secretpassword

Ennek nyugodtan csinálhattak volna egy konfigurációs állományt. Mivel nem csináltak, hozzunk létre egy Bash változót és nevezzük el CMD-nek. A továbbiakban csak a CMD változóra fogok hivatkozni:

CMD="/opt/CLCServer/CLI/clcserver -S localhost -P 1234 -U user -W secretpassword"

Elérési utak

Mivel szerverről van szó, és a parancssoros programnak nem kell feltétlenül azon a gépen futnia, a fájlok elérése URL-en keresztül történik. A protokol a clc. Ha olyan fájlra akarunk használni, ami már a CLC Server "látókörében" van, akkor a clc://server kezdetű URL-el tudunk rá hivatkozni. (Ezek clc kiterjesztésű fájlok. Szerializált Java objektumok.) Ha egy külső fájlt akarunk megadni, akkor a clc://serverfile előtaggal érhetjük el azt.

Parancsok

A parancsokat a -A argumentummal adhatjuk meg, majd ezt követik a parancs-specifikus egyéb paraméterek. Például listázzuk ki azokat a fájlokat, melyek a CLC Serveren vannak:

$CMD -A ls -t clc://server/CLC -O res.txt

A -t argumentummal adjuk meg, hogy mit szeretnénk kilistázni. A -O pedig a res.txt állományba menti az eredményt. Ha megnézzük a res.txt-t, azt tapasztaljuk, hogy minden kilistázott objektumhoz tartozik két URL (egy egyszerűsített és egy teljes), egy név és dátum. Ezt a fájlt lehet feldolgozni a clcresultparser-el. Ez a teljes URL-t visszaadja. Például tegyük fel, van 23 darab "read" karaktereket tartalmazó fájlunk, amelyeket szeretnénk egy referenciához illeszteni.

for READ in `clcresultparser -f res.txt -c read`
do
  $CMD -A read_mapping --short-read-alignment-mode ALIGNMENT_LOCAL -i $READ --references clc://server/CLC/chrX -d clc://server/CLC/results
done
A -d adja meg az eredmény helyét, a --references a referencia objektum elérési útja, a -i pedig a short read adat. Figyeljük meg, hogy a clcresultparser -c opcióját, amivel kiszűrjük azokat a neveket, amelyek tartalmazzák a "read" szót.

Összegzés

A CLC jó irányba indult el a parancssoros interfésszel. Az is jó ötlet, hogy egy ismerős közegbe (Bash) beilleszhető a szervert vezérlő parancs. A használhatóságán viszont lehet még javítani. A parancsok alapértelmezett tulajdonságai is meglepően vannak beállítva, gyakran nem tükrözik a grafikus felület beállításait. (Például alapértelmezetten a short readek importjánál eldobja a read azonosítókat). Néhány esetben logikátlan opciókat is meg kell adni. (Ha nem paired adatokat töltünk be, akkor is meg kell adni a readek távolságát) Reméljük, a végleges változatban kijavítják ezeket a hibákat.

Szólj hozzá!

Címkék: programozás rendszergazda bioinformatika

A bejegyzés trackback címe:

https://cybernetic.blog.hu/api/trackback/id/tr33262100

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása