Sure John,
this is a very useful forum
Seqanswers Leaderboard Ad
Collapse
Announcement
Collapse
No announcement yet.
X
-
This is a great discussion for a novice scriptor of Python and bash/C shells. Thank you Giorgio C for all of your questions. They provide food for my thoughts. And thanks to Richard Finney for pointing out the use of the "comm" and "awk" commands.
This code is a combo of my first thoughts on how to approach the problem with subsequent introduction of the "comm" command.
Code:bash-3.2$ cat junk chr1 chr2 chr2 chr1 chr3 chr4 chr5 chr4 bash-3.2$ cut -f1 junk | sort | uniq > junkcol1 bash-3.2$ cut -f2 junk | sort | uniq > junkcol2 bash-3.2$ comm -3 junkcol1 junkcol2 > commonjunk bash-3.2$ cat commonjunk chr3 chr4 chr5
John
Leave a comment:
-
Yes infact, that was one of the thing I've noticed, in the tab separeted file needs to add (\t) to the script.
By the way it works good !
Thank you again for your precious help.
Cheers,
Giorgio
Leave a comment:
-
Originally posted by Giorgio C View PostThank you Dariober,
as you said it was a problem of some empty lines in the middle of the list that I did not see at first. Now it works good and however the 'skip blank script' version works greatly.
Richard Finney thank you for your other suggestion, it works good too.
Good luck!
Dario
Leave a comment:
-
Thank you Dariober,
as you said it was a problem of some empty lines in the middle of the list that I did not see at first. Now it works good and however the 'skip blank script' version works greatly.
Richard Finney thank you for your other suggestion, it works good too.
Leave a comment:
-
Rather than write your own tool, BEDTools intersectBed can do exactly this, if you convert your lists to .bed format
Leave a comment:
-
"comm" command is useful for this stuff ..
Code:-bash-3.00$ cat junk chr1 chr2 chr2 chr1 chr3 chr4 chr5 chr4 -bash-3.00$ awk '{print $1}' < junk | sort | uniq > junkcol1 -bash-3.00$ awk '{print $2}' < junk | sort | uniq > junkcol2 -bash-3.00$ comm -3 junkcol1 junkcol2 chr3 chr4 chr5
check out the "comm" command with "man comm" or via search engine.
Leave a comment:
-
Originally posted by Giorgio C View PostThank you so much for your answer I've tried but it give me an error:
Traceback (most recent call last):
File "script.py", line 9, in <module>
a= line.strip().split()[0]
IndexError: list index out of range
Do you know what may be the problem?
In fact, this version will skip blank lines:
Code:python -c " fin= open('test.txt') col_a= set() for line in fin: if line.strip() == '': continue ## Unique elements in column A a= line.strip().split()[0] col_a.add(a) fin.seek(0) for line in fin: if line.strip() == '': continue ## Print out elements in column B not in set A b= line.strip().split()[1] if b not in col_a: print(b) fin.close() "
Leave a comment:
-
Thank you so much for your answer I've tried but it give me an error:
Traceback (most recent call last):
File "script.py", line 9, in <module>
a= line.strip().split()[0]
IndexError: list index out of range
Do you know what may be the problem?
Leave a comment:
-
Hi Giorgio,
See if this helps:
say you have test.txt like this (tab-separated):
Code:chr1 chr2 chr2 chr1 chr3 chr4 chr5 chr4
This python script should do it. It assumes that all the unique elements in column A can fit in memory:
Code:python -c " fin= open('test.txt') col_a= set() for line in fin: ## Unique elements in column A a= line.strip().split()[0] col_a.add(a) fin.seek(0) for line in fin: ## Print out elements in column B not in set A b= line.strip().split()[1] if b not in col_a: print(b) fin.close() "
Hope it helps and I haven't made any mistake!
Dario
Leave a comment:
-
Scripting Help - Common Elements
Hi all,
I have a question hoping someone can help me.
I have a file with two columns A and B with a list of gene coordinates in each of them:
I'd like to write in another file every element that is present in column A but not in B.
(I mean I'd like to write in output the NON common elements of the two columns).
Do you have any suggestions ( little script in perl or python) not exel cuz the list is huge.
Thanks you in advance,
GiorgioTags: None
Latest Articles
Collapse
-
by seqadmin
The human gut contains trillions of microorganisms that impact digestion, immune functions, and overall health1. Despite major breakthroughs, we’re only beginning to understand the full extent of the microbiome’s influence on health and disease. Advances in next-generation sequencing and spatial biology have opened new windows into this complex environment, yet many questions remain. This article highlights two recent studies exploring how diet influences microbial...-
Channel: Articles
02-24-2025, 06:31 AM -
ad_right_rmr
Collapse
News
Collapse
Topics | Statistics | Last Post | ||
---|---|---|---|---|
Started by seqadmin, 03-03-2025, 01:15 PM
|
0 responses
169 views
0 likes
|
Last Post
by seqadmin
03-03-2025, 01:15 PM
|
||
Started by seqadmin, 02-28-2025, 12:58 PM
|
0 responses
259 views
0 likes
|
Last Post
by seqadmin
02-28-2025, 12:58 PM
|
||
Started by seqadmin, 02-24-2025, 02:48 PM
|
0 responses
641 views
0 likes
|
Last Post
by seqadmin
02-24-2025, 02:48 PM
|
||
Started by seqadmin, 02-21-2025, 02:46 PM
|
0 responses
265 views
0 likes
|
Last Post
by seqadmin
02-21-2025, 02:46 PM
|
Leave a comment: