Go Back   Το UNIX και Linux Forums > Top Forums > Ο προγραμματισμός και η Shell Scripting
.
Google Site



Ο προγραμματισμός και η Shell Scripting Post ερωτήσεις για KSH, CSH, SH, BASH, Perl, PHP, sed, AWK ΑΛΛΑ και shell scripts και shell scripting γλώσσα εδώ.

Reply
English Japanese Spanish French German Portuguese Italian Powered by Powered by Google
 
Εργαλεία Θέματος Αναζήτηση αυτό το νήμα Βαθμολογήστε Νήμα Display Modes
  #1 (Permalink)  
Old 09-28-2009
Εγγεγραμμένος χρήστης
 

Εγγραφή: Μάιος 2009
Θέσεις: 20
Συγκρίνοντας τα δύο αρχεία

Γεια όλα, δεν είμαι προγραμματιστής, αλλά χρειάζονται λίγη βοήθεια με ένα έργο που κάνω. Έκανα διαβάσει αρκετές θέσεις και μοιάζει με awk ή python μπορεί να με βοηθήσει, αν και γνωρίζω πολύ λίγα για τη χρήση τους. Εδώ είναι η ερώτησή μου: Έχω πρώτο αρχείο με 6 στήλη.

Κωδικός:
CHR             SNP   A1   A2          MAF  NCHROBS
    0   SNP_A-8414268    A    G       0.1522     5354
   1      rs12565286    C    G      0.04139     5340
   1       rs2980319    A    T       0.1503     5362
   1       rs2980300    T    C       0.1773     5346
   1       rs6603781    A    G       0.1149     5346

Δεύτερο αρχείο μου είναι πολύ παρόμοια με την πρώτη, αλλά μπορεί να είναι ή να μην έχουν την ίδια στήλη 2 (SNP). Υποψιάζομαι ότι η Col στήλες 3 και 4 (Α1 & Α2) μπορεί να είναι διαφορετική επίσης.

Αυτό που απαιτείται είναι να πάρετε ένα αρχείο εξόδου με στήλες 1,2,3, 4, 5, 6 από το πρώτο αρχείο και την αντίστοιχη γραμμή που ταιριάζει στη στήλη 2 (SNP) του πρώτου αρχείου με τις στήλες 2,3,4, 5,6 (SNP, Α1, Α2, MAF, NCHROBS) από το δεύτερο αρχείο σε θέσεις 7,8,9,10,11,2. Το αρχείο εξόδου θα έχει ως εκ τούτου, 11 στήλες? Τους πρώτους 6 από 1.txt φάκελο και την αντίστοιχη διάρκεια των πέντε τελευταίων από το αρχείο 2.txt

Κωδικός:
CHR             SNP   A1   A2          MAF  NCHROBS
       0   SNP_A-8414268    A    G       0.1522     5354
   1      rs12565286    C    G      0.04139     5340
   1       rs2980319    A    T       0.1503     5362    rs2980319    A    T       0.1503     4252
   1       rs2980300    T    C       0.1773     5346    rs2980300    T    C       0.1273     4546
   1       rs6603781    A    G       0.1149     5346    rs6603781    G    A       0.0249     4546

Σας ευχαριστώ για την ανάγνωση
Sponsored Links
  #2 (Permalink)  
Old 09-28-2009
ripat ripat is offline Forum Advisor  
Εγγεγραμμένος χρήστης
 

Εγγραφή: Οκτώβριος 2006
Τοποθεσία: Βέλγιο
Μηνύματα: 441
Γεια σου,

Υποθέτοντας file1 σας και file2 έχουν ως εξής:

Κωδικός:
$ cat f1
CHR             SNP   A1   A2          MAF  NCHROBS
    0   SNP_A-8414268    A    G       0.1522     5354
   1      rs12565286    C    G      0.04139     5340
   1       rs2980319    A    T       0.1503     5362
   1       rs2980300    T    C       0.1773     5346
   1       rs6603781    A    G       0.1149     5346

$ cat f2
CHR             SNP   A1   A2          MAF  NCHROBS
   1       rs2980319    A    T       0.1503     4252
   1       rs2980300    T    C       0.1273     4546
   1       rs6603781    G    A       0.0249     4546

Δοκιμάστε αυτό:

Κωδικός:
$ awk 'NR==FNR{k[$2]=sprintf(" %s %s %s %s %s",$2,$3,$4,$5,$6);next}{print $1,$2,$3,$4,$5,$6 k[$2]}' f2 f1
CHR SNP A1 A2 MAF NCHROBS SNP A1 A2 MAF NCHROBS
0 SNP_A-8414268 A G 0.1522 5354
1 rs12565286 C G 0.04139 5340
1 rs2980319 A T 0.1503 5362 rs2980319 A T 0.1503 4252
1 rs2980300 T C 0.1773 5346 rs2980300 T C 0.1273 4546
1 rs6603781 A G 0.1149 5346 rs6603781 G A 0.0249 4546

  #3 (Permalink)  
Old 09-28-2009
durden_tyler's Avatar
Εγγεγραμμένος χρήστης
 

Join Ημερομηνία: Απρίλιος 2009
Μηνύματα: 667

Κωδικός:
$ 
$ cat file1
CHR             SNP   A1   A2          MAF  NCHROBS
  0   SNP_A-8414268    A    G       0.1522     5354
  1      rs12565286    C    G      0.04139     5340
  1       rs2980319    A    T       0.1503     5362
  1       rs2980300    T    C       0.1773     5346
  1       rs6603781    A    G       0.1149     5346
$ 
$ 
$ cat file2
CHR             SNP   A1   A2          MAF  NCHROBS
  0   SMP_A-8414268    A    G       0.1522     5354
  1      rs12565286    C    G      0.04139     5349
  1       rs2980319    A    T       0.1503     5362
  1       rs2980300    T    C       0.1773     5346
  1       rs6603781    A    G       0.1149     5346
$ 
$ ##
$ perl -lne 'chomp; if ($.>1) {if($ARGV eq "file1"){$x{substr($_,3)}=substr($_,3)}
>            else {print $_,$x{substr($_,3)}}}' file1 file2
CHR             SNP   A1   A2          MAF  NCHROBS
  0   SMP_A-8414268    A    G       0.1522     5354
  1      rs12565286    C    G      0.04139     5349
  1       rs2980319    A    T       0.1503     5362       rs2980319    A    T       0.1503     5362
  1       rs2980300    T    C       0.1773     5346       rs2980300    T    C       0.1773     5346
  1       rs6603781    A    G       0.1149     5346       rs6603781    A    G       0.1149     5346
$ 
$

tyler_durden
  #4 (Permalink)  
Old 09-28-2009
Εγγεγραμμένος χρήστης
 

Εγγραφή: Μάιος 2009
Θέσεις: 20
Thanks a lot Ripat και tyler_durden.
Η εντολή awk εργάστηκε σαν μια γοητεία.
Μπορείτε να με βοηθήσετε με μία πιο μικρή λεπτομέρεια.

Εδώ είναι δείγμα αρχείου μου από το προηγούμενο βήμα:


Κωδικός:
1	rs4075116	G	A	0.2857	546	rs4075116	C	T	0.2646	2732
1	rs11260595	T	G	0.02451	612	rs11260595	A	C	0.02668	2774
1	rs6604968	C	T	0.1672	616	rs6604968	G	A	0.137	2810
1	rs11260554	A	C	0.09547	618	rs11260554	T	G	0.1153	2810
1	rs6603781	G	A	0.1234	608	rs6603781	A	G	0.1196	2810

Θέλω την εντολή awk να διαβάσει διάσελο 3 και στη συνέχεια, αναζητήστε την τιμή στο Συνταγματάρχης 8 και 9 σχετικά με την ίδια γραμμή. Αν δεν βρείτε την τιμή του Συνταγματάρχη 8 και 9, στη συνέχεια, γράψτε την αξία των Στήλη 2 του output.txt αρχείο εξόδου

Είμαι προσπαθούν να μάθουν το NR \u003d\u003d FNR thingy .. μέχρι να καταλάβουν ότι .. kindly help.
Αυτό είναι που ήρθα με, αλλά δεν είναι σίγουρος αν είναι σωστό!


Κωδικός:
awk '{if(NR>1 && $3 !=$8 && $3!=$9){print  $2}}' All_matchingsnps_in_bothdatasets.txt >nonambig.txt


Τελευταία επεξεργασία από το genehunter? 09-28-2009 σε 09:20 μμ..
  #5 (Permalink)  
Old 09-28-2009
danmero danmero is offline Forum Advisor  
 

Εγγραφή: Νοέμβριος 2007
Τοποθεσία: H3X
Δημοσιεύσεις: 1565
Βάση την αρχική δείγμα δεδομένων:

Κωδικός:
# cat f1
CHR             SNP   A1   A2          MAF  NCHROBS
    0   SNP_A-8414268    A    G       0.1522     5354
   1      rs12565286    C    G      0.04139     5340
   1       rs2980319    A    T       0.1503     5362
   1       rs2980300    T    C       0.1773     5346
   1       rs6603781    A    G       0.1149     5346
# cat f2
CHR             SNP   A1   A2          MAF  NCHROBS
   1       rs2980319    A    T       0.1503     4252
   1       rs2980300    T    C       0.1273     4546
   1       rs6603781    G    A       0.0249     4546
# # awk 'NR==FNR{$1=$1;a[$2]=$0;b[$2]=$3;next}b[$2]==$3||b[$2]==$4{print $2 > "nonambig.txt"}$1!~"[A-Z]"{$1=a[$2];print}' f1 f2
1 rs2980319 A T 0.1503 5362 rs2980319 A T 0.1503 4252
1 rs2980300 T C 0.1773 5346 rs2980300 T C 0.1273 4546
1 rs6603781 A G 0.1149 5346 rs6603781 G A 0.0249 4546
# cat nonambig.txt
SNP
rs2980319
rs2980300
rs6603781


Τελευταία επεξεργασία από το danmero? 09-28-2009 σε 10:10 μμ.. Αιτιολογία: OP άλλαξε το περιεχόμενο
  #6 (Permalink)  
Old 12-27-2009
Εγγεγραμμένος χρήστης
 

Εγγραφή: Μάιος 2009
Θέσεις: 20
Απόσπασμα:
Αρχικά Αποστολέας danmero View Post
Βάση την αρχική δείγμα δεδομένων:

Κωδικός:
# cat f1
CHR             SNP   A1   A2          MAF  NCHROBS
    0   SNP_A-8414268    A    G       0.1522     5354
   1      rs12565286    C    G      0.04139     5340
   1       rs2980319    A    T       0.1503     5362
   1       rs2980300    T    C       0.1773     5346
   1       rs6603781    A    G       0.1149     5346
# cat f2
CHR             SNP   A1   A2          MAF  NCHROBS
   1       rs2980319    A    T       0.1503     4252
   1       rs2980300    T    C       0.1273     4546
   1       rs6603781    G    A       0.0249     4546
# # awk 'NR==FNR{$1=$1;a[$2]=$0;b[$2]=$3;next}b[$2]==$3||b[$2]==$4{print $2 > "nonambig.txt"}$1!~"[A-Z]"{$1=a[$2];print}' f1 f2
1 rs2980319 A T 0.1503 5362 rs2980319 A T 0.1503 4252
1 rs2980300 T C 0.1773 5346 rs2980300 T C 0.1273 4546
1 rs6603781 A G 0.1149 5346 rs6603781 G A 0.0249 4546
# cat nonambig.txt
SNP
rs2980319
rs2980300
rs6603781

Μπορεί να σας βοηθήσει ευγενικά από την ερμηνεία αυτού του κώδικα, ότι θα με βοηθήσει να το καταλάβουν. Θα ήταν πολύ χρήσιμο και θα το εκτιμούσα πολύ.

Κωδικός:
 awk 'NR==FNR{$1=$1;a[$2]=$0;b[$2]=$3;next}b[$2]==$3||b[$2]==$4{print $2 > "nonambig.txt"}$1!~"[A-Z]"{$1=a[$2];print}' f1 f2

Sponsored Links
Reply

Σελιδοδείκτες

Εργαλεία Θέματος Αναζήτηση αυτό το νήμα
Αναζήτηση αυτό το νήμα:

Advanced Search
Display Modes Βαθμολογήστε αυτό το νήμα
Βαθμολογήστε αυτό το νήμα:

Απόσπαση Κανονισμού
Εσύ δεν μπορεί να υστέρων νέα νήματα
Εσύ δεν μπορεί να μετά απαντήσεις
Εσύ δεν μπορεί να μετά συνημμένα
Εσύ δεν μπορεί να επεξεργαστείτε τις θέσεις

BB κωδικός είναι Σε λειτουργία
Smilies είναι Σε λειτουργία
[IMG] κωδικός Σε λειτουργία
Κώδικα HTML είναι Εκτός χρήσης
Trackbacks είναι Σε λειτουργία
Pingbacks είναι Σε λειτουργία
Refbacks είναι Εκτός χρήσης


Περισσότερα UNIX και Linux Forum Θέματα που μπορεί να σας Χρήσιμη
Νήμα Thread Starter Φόρουμ Απαντήσεις Τελευταίο μήνυμα
τη σύγκριση των δύο αρχεία με την παραγωγή η οποία δεν είναι και στα δύο αρχεία Suryanarayana Ο προγραμματισμός και η Shell Scripting 2 02-04-2009 08:41 AM
Βοήθεια Σύγκριση δύο αρχείων awknerd Ο προγραμματισμός και η Shell Scripting 4 09-03-2008 01:24 AM
Συγκρίνοντας τα δύο αρχεία superstar003 Φόρουμ Υποστήριξης Περιοχή για Unregistered Users Προβλήματα & Λογαριασμός 1 05-08-2008 04:34 AM
Σύγκριση 2 αρχεία hdixon UNIX για Ανδρείκελα Ερωτήσεις & Απαντήσεις 2 08-01-2007 01:24 μμ
συγκρίνοντας σκιά αρχεία με πραγματικά αρχεία terrym UNIX για Advanced & Expert Χρήστες 4 02-09-2007 02:38 AM



Όλες οι ώρες είναι GMT -4. Η ώρα τώρα είναι 11:04 μμ.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Γλώσσα Μεταφράσεις Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Η UNIX και Linux Φόρουμ Content Copyright © 1993-2010. Όλα τα δικαιώματα Reserved.Ad διαχείριση από RedTyger

Περιεχόμενο σχετικό με τις διευθύνσεις URL vBSEO 3.2.0