Monday, May 7, 2012

recursively remove broken symlinks in bash

Weblog for atrixnet - recursively remove broken symlinks in bash

Posted by Anonymous (78.32.xx.xx) on Sat 27 Sep 2008 at 01:00
Totally cheating, but after searching for "exist" in the GNU find man page:

find -L . -type l -print0 | xargs -0 --no-run-if-empty rm

With -L (follow symbolic links), -type l matches against the type of the link's target (recursively following links if it's a symlink to a symlink) - unless that target does not exist, in which case it matches against the link.

(The -print0 and -0 options are specific to GNU find and xargs, and allow you to operate on files with bizarre names, e.g. containing newlines, by using the \0 (NUL) character as the line separator. There are only two characters not allowed in Unix filenames - NUL and '/'.)

If that's too subtle, here's a more long-winded solution:

find . | while read -r FILE; do
if ! test -e "$FILE"; then
rm "$FILE"
fi
done

Linux or Unix find and remove files with one find command on fly

Linux or UNIX - Find and remove file syntax

To remove multiple files such as *.jpg or *.sh with one command find, use

find . -name "FILE-TO-FIND"-exec rm -rf {} \;

OR

find . -type f -name "FILE-TO-FIND" -exec rm -f {} \;

Thursday, May 3, 2012

How can i edit some rows in .bam header file? - BioStar

How can i edit some rows in .bam header file? - BioStar


Question: How can i edit some rows in .bam header file?

 
2
 
 

For example i have the following already in the bam header:

@RG ID:110131_SN107_0398_A81DDCABXX_LANE2   PL:ILLUMINA LB:P0007    SM:tumor
@RG ID:110131_SN107_0398_A81DDCABXX_LANE4 PL:ILLUMINA LB:P0007 SM:tumor
@RG ID:110131_SN107_0398_A81DDCABXX_LANE6 PL:ILLUMINA LB:P0007 SM:tumor
@RG ID:110131_SN107_0398_A81DDCABXX_LANE8 PL:ILLUMINA LB:P0007 SM:tumor
@RG ID:110131_SN107_0399_B81CYUABXX_LANE2 PL:ILLUMINA LB:P0007 SM:tumor
@RG ID:110131_SN107_0399_B81CYUABXX_LANE4 PL:ILLUMINA LB:P0007 SM:tumor
@RG ID:110131_SN107_0399_B81CYUABXX_LANE6 PL:ILLUMINA LB:P0007 SM:tumor
@RG ID:110131_SN107_0399_B81CYUABXX_LANE8 PL:ILLUMINA LB:P0007 SM:tumor

i want to make it:

@RG ID:110131_SN107_0398_A81DDCABXX_LANE2   PL:ILLUMINA LB:tumor_P0007  SM:tumor
@RG ID:110131_SN107_0398_A81DDCABXX_LANE4 PL:ILLUMINA LB:tumor_P0007 SM:tumor
@RG ID:110131_SN107_0398_A81DDCABXX_LANE6 PL:ILLUMINA LB:tumor_P0007 SM:tumor
@RG ID:110131_SN107_0398_A81DDCABXX_LANE8 PL:ILLUMINA LB:tumor_P0007 SM:tumor
@RG ID:110131_SN107_0399_B81CYUABXX_LANE2 PL:ILLUMINA LB:tumor_P0007 SM:tumor
@RG ID:110131_SN107_0399_B81CYUABXX_LANE4 PL:ILLUMINA LB:tumor_P0007 SM:tumor
@RG ID:110131_SN107_0399_B81CYUABXX_LANE6 PL:ILLUMINA LB:tumor_P0007 SM:tumor
@RG ID:110131_SN107_0399_B81CYUABXX_LANE8 PL:ILLUMINA LB:tumor_P0007 SM:tumor

Thanks.

 
 

1 answer



 
12
 
 
 

samtools view -H mybamfile.bam | sed -e 's/LB:/LB:tumor_/' | samtools reheader - mybamfile.bam > mybamfile.reheadered.bam

Wednesday, February 8, 2012

scp as a background process

scp as a background process « Kunal Bharati
scp as a background process

To execute any linux command in background we use nohup as follows:

1 $ nohup SOME_COMMAND &

But the problem with scp command is that it prompts for the password (if password authentication is used). So to make scp execute as a background process do this:

1 $ nohup scp file_to_copy user@server:/path/to/copy/the/file > nohup.out 2>&1

Then press ctrl + z which will temporarily suspend the command, then enter the command:

1 $ bg

This will start executing the command in backgroud
Advertisement
Share this:

Share

Like this:
Like
Be the first to like this post.

Tags: Linux, tips n tricks


Monday, November 28, 2011

http://lausanne.isb-sib.ch/~sengstag/bioc_mirror.html

Setting up a local BioConductor mirror

Conventions:

BIOCDISK = The path to a big disk that will contain the BioConductor files
YOURSERVER = The name of the machine that will serve the files

Setting up the mirror

The present instructions are for BioConductor 1.9 which is to
be used in conjunction with R 2.4.

Note: Given that the BioConductor directory structure changed
by version 1.8, these instructions should not be expected to work
with earlier versions.

Preparing the distribution directory

Setup the copy of the official repository:

 rsync -rtlv bioconductor.org::1.9 BIOCDISK/bioconductor/packages/1.9

The rsync command should be on a crontab to maintain the mirror in sync.

Download original installation scripts:

 cd BIOCDISK/bioconductor/
wget http://www.bioconductor.org/getBioC.R
wget http://www.bioconductor.org/biocLite.R

Download core install script for R version corresponding to BioC version:

 mkdir -p BIOCDISK/bioconductor/installScripts/2.4
cd BIOCDISK/bioconductor/installScripts/2.4
wget http://bioconductor.org/installScripts/2.4/biocinstall.R

Adapt the hardcoded paths in scripts to point to the new server:

 cd BIOCDISK/bioconductor/
foreach f (getBioC.R biocLite.R installScripts/2.4/biocinstall.R)
cp $f $f.save
sed -e 's/http:\/\/[w.]*bioconductor.org/http:\/\/YOURSERVER\/bioconductor/g' $f.save > $f
end

Configuring web server (debian machine)

Create the file /etc/apache2/conf.d/bioconductor.conf:

 Alias /bioconductor BIOCDISK/bioconductor
<Directory "BIOCDISK/bioconductor">
EnableSendfile Off # In case there is no sendfile() support (happens with NFS)
Options +Indexes
Order deny,allow
Allow from all
</Directory>

Then reload http configuration with:

 /etc/init.d/apache2 reload

Use a browser to check that the mirror is visible: http://YOURSERVER/bioconductor

Using the mirror

The BioConductor mirror is used in the same way as the original BioConductor
repository, the only difference being that wherever "http://www.bioconductor.org/"
or "http://bioconductor.org/" occurs in the documentation, these strings must be
replaced by "http://YOURSERVER/bioconductor/".

Base install, light:

 source("http://YOURSERVER/bioconductor/biocLite.R")
biocLite()

Base install, heavier:

 source("http://YOURSERVER/bioconductor/getBioC.R")
getBioC()

Installation of extra packages:

 source("http://YOURSERVER/bioconductor/biocLite.R")
biocLite(c("pkg1", "pkg2"))

Individual files on the mirror can be accessed from http://YOURSERVER/bioconductor

Version 1.0, Thierry Sengstag, October 26, 2006

Saturday, July 16, 2011

scp as a background process « Kunal Bharati

scp as a background process « Kunal Bharati

kunal@localhost$

Home
About me

scp as a background process
October 20, 2010
tags: Linux, tips n tricks
by kunalbharati

To execute any linux command in background we use nohup as follows:
1 $ nohup SOME_COMMAND &

But the problem with scp command is that it prompts for the password (if password authentication is used). So to make scp execute as a background process do this:
1 $ nohup scp file_to_copy user@server:/path/to/copy/the/file > nohup.out 2>&1

Then press ctrl + z which will temporarily suspend the command, then enter the command:
1 $ bg

This will start executing the command in backgroud